Go binding for the ApiAxle API
Go
Latest commit 4794da5 Jun 28, 2013 Richard Johnson Merge branch 'release/1.0'
Permalink
Failed to load latest commit information.
.travis.yml
README.md
api.go
api_test.go
axle.go
axle_test.go
key.go
key_test.go
keyring.go
keyring_test.go

README.md

ApiAxle client for Go (golang)

Build Status Coverage Status

Features

Should provide complete programmatic access to all API methods as documented here: http://apiaxle.com/api.html

Installation

This should get you started:

go get github.com/rjohnsondev/go-axle

Docs

Generated documentation can be viewed by running:

godoc -http :3000

then navigating to http://localhost:3000/pkg/go-axle/

Usage

This example program will connect to the ApiAxle server running on port 28902, create a new test API, a new key and link the key to the API.

package main

import (
    "fmt"
    "github.com/rjohnsondev/go-axle"
    "os"
)

const (
    TEST_API_AXLE_SERVER = "http://localhost:28902/"
    TEST_API_NAME        = "goaxletestapi"
    TEST_KEY_NAME        = "goaxletestkey"
    TEST_API_ENDPOINT    = "localhost:80"
)

func main() {

    // Ping the server
    err := goaxle.Ping(TEST_API_AXLE_SERVER)
    if err != nil {
        fmt.Printf("Unable to connect to apiaxle at: %v\n", TEST_API_AXLE_SERVER)
        os.Exit(1)
    }

    // Provision a new API
    api := goaxle.NewApi(TEST_API_AXLE_SERVER, TEST_API_NAME, TEST_API_ENDPOINT)
    api.GlobalCache = 30 // cache requests for 30 seconds
    err = api.Save()
    if err != nil {
        panic(err)
    }

    // Create a new key
    key := goaxle.NewKey(TEST_API_AXLE_SERVER, TEST_KEY_NAME)
    key.Qpd = 200000 // Queries per day
    err = key.Save()
    if err != nil {
        panic(err)
    }

    // Link it up
    _, err = api.LinkKey(TEST_KEY_NAME)
    if err != nil {
        panic(err)
    }
}