Skip to content

Commit

Permalink
Merge pull request #14 from linkpoolio/feature/gcp
Browse files Browse the repository at this point in the history
GCP Support
  • Loading branch information
jleeh authored Oct 25, 2019
2 parents 2df35ec + 3a9911a commit 2310e81
Show file tree
Hide file tree
Showing 37 changed files with 204 additions and 88 deletions.
38 changes: 19 additions & 19 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
sudo: required
services:
- docker

matrix:
include:
- language: go
go: "1.12"

before_install:
- go get -u github.com/haya14busa/goverage

install:
- GO111MODULE=on go get

script:
- GO111MODULE=on goverage -v -coverprofile=coverage.out ./...

after_success:
sudo: required
services:
- docker

matrix:
include:
- language: go
go: "1.12"

before_install:
- go get -u github.com/haya14busa/goverage

install:
- GO111MODULE=on go get

script:
- GO111MODULE=on goverage -v -coverprofile=coverage.out ./...

after_success:
- bash <(curl -s https://codecov.io/bash)
28 changes: 14 additions & 14 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
FROM golang:1.12-alpine as builder

RUN apk add --no-cache make curl git gcc musl-dev linux-headers

ADD . /go/src/github.com/linkpoolio/asset-price-cl-ea
RUN cd /go/src/github.com/linkpoolio/asset-price-cl-ea && make build

# Copy Adaptor into a second stage container
FROM alpine:latest

RUN apk add --no-cache ca-certificates
COPY --from=builder /go/src/github.com/linkpoolio/asset-price-cl-ea/asset-price-cl-ea /usr/local/bin/

EXPOSE 8080
FROM golang:1.10-alpine as builder

RUN apk add --no-cache make curl git gcc musl-dev linux-headers

ADD . /go/src/github.com/linkpoolio/asset-price-cl-ea
RUN cd /go/src/github.com/linkpoolio/asset-price-cl-ea && make build

# Copy into a second stage container
FROM alpine:latest

RUN apk add --no-cache ca-certificates
COPY --from=builder /go/src/github.com/linkpoolio/asset-price-cl-ea/asset-price-cl-ea /usr/local/bin/

EXPOSE 8080
CMD ["asset-price-cl-ea"]
38 changes: 19 additions & 19 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
.DEFAULT_GOAL := build
.PHONY: build install docker dockerpush

REPO=linkpoolio/asset-price-cl-ea
LDFLAGS=-ldflags "-X github.com/linkpoolio/asset-price-cl-ea/store.Sha=`git rev-parse HEAD`"

gomod:
export GO111MODULE=on

build: gomod
@go build $(LDFLAGS) -o asset-price-cl-ea

install: gomod
@go install $(LDFLAGS)

docker:
@docker build . -t $(REPO)

dockerpush:
.DEFAULT_GOAL := build
.PHONY: build install docker dockerpush

REPO=linkpoolio/asset-price-cl-ea
LDFLAGS=-ldflags "-X github.com/linkpoolio/asset-price-cl-ea/store.Sha=`git rev-parse HEAD`"

gomod:
export GO111MODULE=on

build: gomod
@go build $(LDFLAGS) -o asset-price-cl-ea

install: gomod
@go install $(LDFLAGS)

docker:
@docker build . -t $(REPO)

dockerpush:
@docker push $(REPO)
26 changes: 23 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,29 @@ docker run -it -p 8080:8080 -e PORT=8080 linkpoolio/asset-price-cl-ea

Container also supports passing in CLI arguments.

#### AWS Lambda

With the Bridges framework, this adaptor now supports being ran in AWS lambda. Although, it is strongly recommended to run it locally/Docker as it will be considerably slower in Lambda. Reason for this is due to the adaptor needing to fetch all trading pairs from exchanges prior to making the price calls. Whereas when ran non-serverless, this is a background task.
## AWS Lambda
1. Build the executable:
```bash
GO111MODULE=on go build -o asset-price
```
2. Add the file to a ZIP archive:
```bash
zip asset-price.zip ./asset-price
```
3. Upload the the zip file into AWS and then use `asset-price` as the
handler.
4. Set the `LAMBDA` environment variable to `true` in AWS for
the adaptor to be compatible with Lambda.

## GCP Functions
1. Change into the app directory:
```bash
cd app
```
2. Deploy into GCP
```bash
gcloud functions deploy asset-price --runtime go111 --entry-point Handler --trigger-http
```

### Usage

Expand Down
7 changes: 5 additions & 2 deletions app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package app
import (
"errors"
"fmt"
"github.com/linkpoolio/asset-price-cl-ea/exchange"
"github.com/linkpoolio/asset-price-cl-ea/app/exchange"
log "github.com/sirupsen/logrus"
"gopkg.in/guregu/null.v3"
"strconv"
Expand All @@ -18,7 +18,7 @@ type Output struct {
Volume string `json:"volume"`
USDPrice null.String `json:"usdPrice"`
Exchanges []string `json:"exchanges"`
Warnings []*exchange.Error `json:"warnings"`
Warnings []*exchange.Error `json:"warnings,omitempty"`
}

func GetPrice(base, quote string) (*Output, error) {
Expand Down Expand Up @@ -58,6 +58,9 @@ func GetPrice(base, quote string) (*Output, error) {

func StartPairsTicker(c *Config) {
setExchangePairs()
if c == nil {
return
}

ticker := time.NewTicker(c.TickerInterval)
go func() {
Expand Down
25 changes: 25 additions & 0 deletions app/bridge.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package app

import (
"github.com/linkpoolio/bridges"
"net/http"
)

type AssetPrice struct{}

func (ap *AssetPrice) Run(h *bridges.Helper) (interface{}, error) {
return GetPrice(h.GetParam("base"), h.GetParam("quote"))
}

func (ap *AssetPrice) Opts() *bridges.Opts {
return &bridges.Opts{
Name: "Asset Price",
Lambda: true,
Path: "/price",
}
}

func Handler(w http.ResponseWriter, r *http.Request) {
StartPairsTicker(nil)
bridges.NewServer(&AssetPrice{}).Handler(w, r)
}
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
11 changes: 11 additions & 0 deletions app/go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
module github.com/linkpoolio/asset-price-cl-ea/app

go 1.12

require (
github.com/linkpoolio/bridges v0.0.0-20191025104425-88bd7b263478
github.com/preichenberger/go-gdax v0.0.0-20171211025541-77508b321c97
github.com/sirupsen/logrus v1.4.2
github.com/stretchr/testify v1.4.0
gopkg.in/guregu/null.v3 v3.4.0
)
53 changes: 53 additions & 0 deletions app/go.sum
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/aws/aws-lambda-go v1.10.0/go.mod h1:zUsUQhAUjYzR8AuduJPCfhBuKWUaDbQiPOG+ouzmE1A=
github.com/aws/aws-lambda-go v1.13.2 h1:8lYuRVn6rESoUNZXdbCmtGB4bBk4vcVYojiHjE4mMrM=
github.com/aws/aws-lambda-go v1.13.2/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU=
github.com/beldur/kraken-go-api-client v0.0.0-20190315074429-1bcd7922cada/go.mod h1:NtR1i+x0BHgyscUkgG1FlAokpIxNDKgLO3301OLxWt0=
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/haya14busa/goverage v0.0.0-20180129164344-eec3514a20b5/go.mod h1:0YZ2wQSuwviXXXGUiK6zXzskyBLAbLXhamxzcFHSLoM=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/linkpoolio/asset-price-cl-ea v0.5.1 h1:Xjf9a2jdG2p+e3emwMbYC6Bsmv/umTTJlvxSv0ytrXk=
github.com/linkpoolio/asset-price-cl-ea v0.5.1/go.mod h1:ucF3qfss8mtguPR/VXHYnmTIdQbLSI4T+cgU1i1Y6Pk=
github.com/linkpoolio/bridges v0.0.0-20190531150643-66a80e9d4bdd/go.mod h1:B5Z/PmGOb1EDqm81hkXp3C2FV7G2VGmh5/CwWE4jsGM=
github.com/linkpoolio/bridges v0.0.0-20191025104425-88bd7b263478 h1:q1OaqixLPBagppubJelUeMSJfuV0W/qXUPYGtkzpRfg=
github.com/linkpoolio/bridges v0.0.0-20191025104425-88bd7b263478/go.mod h1:DInZAD65BIbStcCB8bvXqCeG2qJ1YXsdEsX7RdtSvkE=
github.com/montanaflynn/stats v0.5.0/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc=
github.com/oliveagle/jsonpath v0.0.0-20180606110733-2e52cf6e6852/go.mod h1:eqOVx5Vwu4gd2mmMZvVZsgIqNSaW3xxRThUJ0k/TPk4=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/preichenberger/go-gdax v0.0.0-20171211025541-77508b321c97 h1:nKHQTmdbAHzVqUiM9kvcf1WGY76p+sSLOt0yvPwJyrE=
github.com/preichenberger/go-gdax v0.0.0-20171211025541-77508b321c97/go.mod h1:couLd4kMp3zNIXEnhqnIcRB4+1WC0/fo/Ytn2w/Fzag=
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4=
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/tidwall/gjson v1.2.1/go.mod h1:c/nTNbUr0E0OrXEhq1pwa8iEgc2DOt4ZZqAt1HtCkPA=
github.com/tidwall/gjson v1.3.2 h1:+7p3qQFaH3fOMXAJSrdZwGKcOO/lYdGS0HqGhPqDdTI=
github.com/tidwall/gjson v1.3.2/go.mod h1:P256ACg0Mn+j1RXIDXoss50DeIABTYK1PULOJHhxOls=
github.com/tidwall/match v1.0.1 h1:PnKP62LPNxHKTwvHHZZzdOAOCtsJTjo6dZLCwpKm5xc=
github.com/tidwall/match v1.0.1/go.mod h1:LujAq0jyVjBy028G1WhWfIzbpQfMO8bBZ6Tyb0+pL9E=
github.com/tidwall/pretty v0.0.0-20190325153808-1166b9ac2b65/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4=
github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
github.com/utahta/go-openuri v0.1.0/go.mod h1:wg5kOkfgUWHGFacyyH+FsrEzB++WPpFyKrwDSeo69Ng=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190422165155-953cdadca894 h1:Cz4ceDQGXuKRnVBDTS23GTn/pU5OE2C0WrNTOYK1Uuc=
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/tools v0.0.0-20190415154727-2b5498619ef1/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/guregu/null.v3 v3.4.0 h1:AOpMtZ85uElRhQjEDsFx21BkXqFPwA7uoJukd4KErIs=
gopkg.in/guregu/null.v3 v3.4.0/go.mod h1:E4tX2Qe3h7QdL+uZ3a0vqvYwKQsRSQKM5V4YltdgH9Y=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
10 changes: 4 additions & 6 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,8 @@ module github.com/linkpoolio/asset-price-cl-ea
go 1.12

require (
github.com/beldur/kraken-go-api-client v0.0.0-20190315074429-1bcd7922cada
github.com/linkpoolio/bridges v0.0.0-20190531150643-66a80e9d4bdd
github.com/preichenberger/go-gdax v0.0.0-20171211025541-77508b321c97
github.com/sirupsen/logrus v1.4.1
github.com/stretchr/testify v1.3.0
gopkg.in/guregu/null.v3 v3.4.0
github.com/linkpoolio/asset-price-cl-ea/app v0.0.0-00010101000000-000000000000
github.com/linkpoolio/bridges v0.0.0-20191025104425-88bd7b263478
)

replace github.com/linkpoolio/asset-price-cl-ea/app => ./app
37 changes: 28 additions & 9 deletions go.sum
Original file line number Diff line number Diff line change
@@ -1,43 +1,62 @@
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/aws/aws-lambda-go v1.10.0 h1:uafgdfYGQD0UeT7d2uKdyWW8j/ZYRifRPIdmeqLzLCk=
github.com/aws/aws-lambda-go v1.10.0/go.mod h1:zUsUQhAUjYzR8AuduJPCfhBuKWUaDbQiPOG+ouzmE1A=
github.com/beldur/kraken-go-api-client v0.0.0-20190315074429-1bcd7922cada h1:ewQsHSTvPgSMOybTSQ+JYCPnjz8Rp9xNsK2j3rYTHfY=
github.com/beldur/kraken-go-api-client v0.0.0-20190315074429-1bcd7922cada/go.mod h1:NtR1i+x0BHgyscUkgG1FlAokpIxNDKgLO3301OLxWt0=
github.com/aws/aws-lambda-go v1.13.2 h1:8lYuRVn6rESoUNZXdbCmtGB4bBk4vcVYojiHjE4mMrM=
github.com/aws/aws-lambda-go v1.13.2/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU=
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/haya14busa/goverage v0.0.0-20180129164344-eec3514a20b5/go.mod h1:0YZ2wQSuwviXXXGUiK6zXzskyBLAbLXhamxzcFHSLoM=
github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/linkpoolio/bridges v0.0.0-20190531150643-66a80e9d4bdd h1:n2szHd3ZQUNNbMLyedNCPlILl+zqdZIz8bqpsaL2zFA=
github.com/linkpoolio/bridges v0.0.0-20190531150643-66a80e9d4bdd/go.mod h1:B5Z/PmGOb1EDqm81hkXp3C2FV7G2VGmh5/CwWE4jsGM=
github.com/linkpoolio/bridges v0.0.0-20190825135452-fdae295c78f0 h1:U94Whjb/THRdPpVOPA/oCt9GplYHfHbh2Z3ZBLcZCSo=
github.com/linkpoolio/bridges v0.0.0-20190825135452-fdae295c78f0/go.mod h1:vQrsEAOjUvgWlTU+qGfA2VuRiytL89/VRd3yvauZ7cU=
github.com/linkpoolio/bridges v0.0.0-20191023191308-5ab804c3d3a6 h1:ZRu8JJfCmebHmTiK3crfmD/nQVhkBeWwvINfdsB0uSA=
github.com/linkpoolio/bridges v0.0.0-20191023191308-5ab804c3d3a6/go.mod h1:DInZAD65BIbStcCB8bvXqCeG2qJ1YXsdEsX7RdtSvkE=
github.com/linkpoolio/bridges v0.0.0-20191025104425-88bd7b263478 h1:q1OaqixLPBagppubJelUeMSJfuV0W/qXUPYGtkzpRfg=
github.com/linkpoolio/bridges v0.0.0-20191025104425-88bd7b263478/go.mod h1:DInZAD65BIbStcCB8bvXqCeG2qJ1YXsdEsX7RdtSvkE=
github.com/montanaflynn/stats v0.5.0/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc=
github.com/oliveagle/jsonpath v0.0.0-20180606110733-2e52cf6e6852/go.mod h1:eqOVx5Vwu4gd2mmMZvVZsgIqNSaW3xxRThUJ0k/TPk4=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/preichenberger/go-gdax v0.0.0-20171211025541-77508b321c97 h1:nKHQTmdbAHzVqUiM9kvcf1WGY76p+sSLOt0yvPwJyrE=
github.com/preichenberger/go-gdax v0.0.0-20171211025541-77508b321c97/go.mod h1:couLd4kMp3zNIXEnhqnIcRB4+1WC0/fo/Ytn2w/Fzag=
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
github.com/sirupsen/logrus v1.4.1 h1:GL2rEmy6nsikmW0r8opw9JIRScdMF5hA8cOYLH7In1k=
github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4=
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/tidwall/gjson v1.2.1 h1:j0efZLrZUvNerEf6xqoi0NjWMK5YlLrR7Guo/dxY174=
github.com/tidwall/gjson v1.2.1/go.mod h1:c/nTNbUr0E0OrXEhq1pwa8iEgc2DOt4ZZqAt1HtCkPA=
github.com/tidwall/gjson v1.3.2 h1:+7p3qQFaH3fOMXAJSrdZwGKcOO/lYdGS0HqGhPqDdTI=
github.com/tidwall/gjson v1.3.2/go.mod h1:P256ACg0Mn+j1RXIDXoss50DeIABTYK1PULOJHhxOls=
github.com/tidwall/match v1.0.1 h1:PnKP62LPNxHKTwvHHZZzdOAOCtsJTjo6dZLCwpKm5xc=
github.com/tidwall/match v1.0.1/go.mod h1:LujAq0jyVjBy028G1WhWfIzbpQfMO8bBZ6Tyb0+pL9E=
github.com/tidwall/pretty v0.0.0-20190325153808-1166b9ac2b65 h1:rQ229MBgvW68s1/g6f1/63TgYwYxfF4E+bi/KC19P8g=
github.com/tidwall/pretty v0.0.0-20190325153808-1166b9ac2b65/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4=
github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
github.com/utahta/go-openuri v0.1.0/go.mod h1:wg5kOkfgUWHGFacyyH+FsrEzB++WPpFyKrwDSeo69Ng=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33 h1:I6FyU15t786LL7oL/hn43zqTuEGr4PN7F4XJ1p4E3Y8=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a h1:1BGLXjeY4akVXGgbC9HugT3Jv3hCI0z56oJR5vAMgBU=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/tools v0.0.0-20190415154727-2b5498619ef1/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/sys v0.0.0-20190422165155-953cdadca894 h1:Cz4ceDQGXuKRnVBDTS23GTn/pU5OE2C0WrNTOYK1Uuc=
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/guregu/null.v3 v3.4.0 h1:AOpMtZ85uElRhQjEDsFx21BkXqFPwA7uoJukd4KErIs=
gopkg.in/guregu/null.v3 v3.4.0/go.mod h1:E4tX2Qe3h7QdL+uZ3a0vqvYwKQsRSQKM5V4YltdgH9Y=
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
19 changes: 3 additions & 16 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,12 @@ package main

import (
"github.com/linkpoolio/asset-price-cl-ea/app"
"github.com/linkpoolio/bridges/bridge"
"github.com/linkpoolio/bridges"
)

type AssetPrice struct{}

func (ap *AssetPrice) Run(h *bridge.Helper) (interface{}, error) {
return app.GetPrice(h.GetParam("base"), h.GetParam("quote"))
}

func (ap *AssetPrice) Opts() *bridge.Opts {
return &bridge.Opts{
Name: "Asset Price",
Lambda: true,
Path: "/price",
}
}

func main() {
c := app.NewConfig()
app.StartPairsTicker(c)
bridge.NewServer(&AssetPrice{}).Start(c.Port)

bridges.NewServer(&app.AssetPrice{}).Start(c.Port)
}

0 comments on commit 2310e81

Please sign in to comment.