market-api-calls #2
22
client.go
22
client.go
@ -8,7 +8,9 @@ import (
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"os"
|
||||
"strings"
|
||||
)
|
||||
|
||||
/* The trading endpoint for Ally */
|
||||
@ -66,6 +68,19 @@ func (c *AllyApi) getAndRead(path string) []byte {
|
||||
return raw
|
||||
}
|
||||
|
||||
/**
|
||||
Build up our query string, then send it along.
|
||||
*/
|
||||
func (c *AllyApi) getWithParameters(path string, values url.Values) []byte {
|
||||
b := strings.Builder{}
|
||||
for k, v := range values {
|
||||
b.WriteString(fmt.Sprintf("?%s=%s", k, strings.Join(v, ",")))
|
||||
}
|
||||
|
||||
log.Printf("Path built: %s%s\n", path, b.String())
|
||||
return c.getAndRead(fmt.Sprintf("%s%s", path, b.String()))
|
||||
}
|
||||
|
||||
/* The /accounts endpoint of Ally */
|
||||
func (c *AllyApi) Accounts() []AccountSummary {
|
||||
var resp AccountResponse
|
||||
@ -111,6 +126,13 @@ func (c *AllyApi) MarketClock() (resp MarketClockResponse) {
|
||||
return
|
||||
}
|
||||
|
||||
func (c *AllyApi) MarketQuotes() {
|
||||
v := url.Values{
|
||||
"symbols": []string{"IBM"},
|
||||
}
|
||||
fmt.Printf("%s\n", c.getWithParameters("market/ext/quotes", v))
|
||||
}
|
||||
|
||||
// Why does this work?? wtf??
|
||||
func (c *AllyApi) marshalInterfaceResponse(p string, i interface{}) {
|
||||
resp := c.getAndRead(p)
|
||||
|
Loading…
Reference in New Issue
Block a user