Skip to content
This repository has been archived by the owner on Dec 5, 2023. It is now read-only.

Commit

Permalink
Merge pull request #48 from microservices-demo/update-go-1.7
Browse files Browse the repository at this point in the history
Changed necessary to work with go 1.7
  • Loading branch information
vlal committed May 15, 2017
2 parents 5e88df6 + 1b64efd commit b5ec77e
Show file tree
Hide file tree
Showing 6 changed files with 13 additions and 26 deletions.
3 changes: 2 additions & 1 deletion api/endpoints.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,13 @@ package api
// transport.

import (
"context"

"github.com/go-kit/kit/endpoint"
"github.com/go-kit/kit/tracing/opentracing"
"github.com/microservices-demo/user/db"
"github.com/microservices-demo/user/users"
stdopentracing "github.com/opentracing/opentracing-go"
"golang.org/x/net/context"
)

// Endpoints collects the endpoints that comprise the Service.
Expand Down
14 changes: 2 additions & 12 deletions api/transport.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ package api
// In our case we just use a REST-y HTTP transport.

import (
"context"
"encoding/json"
"errors"
"net/http"
Expand All @@ -16,15 +17,14 @@ import (
"github.com/microservices-demo/user/users"
stdopentracing "github.com/opentracing/opentracing-go"
"github.com/prometheus/client_golang/prometheus/promhttp"
"golang.org/x/net/context"
)

var (
ErrInvalidRequest = errors.New("Invalid request")
)

// MakeHTTPHandler mounts the endpoints into a REST-y HTTP handler.
func MakeHTTPHandler(ctx context.Context, e Endpoints, logger log.Logger, tracer stdopentracing.Tracer) *mux.Router {
func MakeHTTPHandler(e Endpoints, logger log.Logger, tracer stdopentracing.Tracer) *mux.Router {
r := mux.NewRouter().StrictSlash(false)
options := []httptransport.ServerOption{
httptransport.ServerErrorLogger(logger),
Expand All @@ -36,70 +36,60 @@ func MakeHTTPHandler(ctx context.Context, e Endpoints, logger log.Logger, tracer
// GET /health Health Check

r.Methods("GET").Path("/login").Handler(httptransport.NewServer(
ctx,
e.LoginEndpoint,
decodeLoginRequest,
encodeResponse,
append(options, httptransport.ServerBefore(opentracing.FromHTTPRequest(tracer, "GET /login", logger)))...,
))
r.Methods("POST").Path("/register").Handler(httptransport.NewServer(
ctx,
e.RegisterEndpoint,
decodeRegisterRequest,
encodeResponse,
append(options, httptransport.ServerBefore(opentracing.FromHTTPRequest(tracer, "POST /register", logger)))...,
))
r.Methods("GET").PathPrefix("/customers").Handler(httptransport.NewServer(
ctx,
e.UserGetEndpoint,
decodeGetRequest,
encodeResponse,
append(options, httptransport.ServerBefore(opentracing.FromHTTPRequest(tracer, "GET /customers", logger)))...,
))
r.Methods("GET").PathPrefix("/cards").Handler(httptransport.NewServer(
ctx,
e.CardGetEndpoint,
decodeGetRequest,
encodeResponse,
append(options, httptransport.ServerBefore(opentracing.FromHTTPRequest(tracer, "GET /cards", logger)))...,
))
r.Methods("GET").PathPrefix("/addresses").Handler(httptransport.NewServer(
ctx,
e.AddressGetEndpoint,
decodeGetRequest,
encodeResponse,
append(options, httptransport.ServerBefore(opentracing.FromHTTPRequest(tracer, "GET /addresses", logger)))...,
))
r.Methods("POST").Path("/customers").Handler(httptransport.NewServer(
ctx,
e.UserPostEndpoint,
decodeUserRequest,
encodeResponse,
append(options, httptransport.ServerBefore(opentracing.FromHTTPRequest(tracer, "POST /customers", logger)))...,
))
r.Methods("POST").Path("/addresses").Handler(httptransport.NewServer(
ctx,
e.AddressPostEndpoint,
decodeAddressRequest,
encodeResponse,
append(options, httptransport.ServerBefore(opentracing.FromHTTPRequest(tracer, "POST /addresses", logger)))...,
))
r.Methods("POST").Path("/cards").Handler(httptransport.NewServer(
ctx,
e.CardPostEndpoint,
decodeCardRequest,
encodeResponse,
append(options, httptransport.ServerBefore(opentracing.FromHTTPRequest(tracer, "POST /cards", logger)))...,
))
r.Methods("DELETE").PathPrefix("/").Handler(httptransport.NewServer(
ctx,
e.DeleteEndpoint,
decodeDeleteRequest,
encodeResponse,
append(options, httptransport.ServerBefore(opentracing.FromHTTPRequest(tracer, "DELETE /", logger)))...,
))
r.Methods("GET").PathPrefix("/health").Handler(httptransport.NewServer(
ctx,
e.HealthEndpoint,
decodeHealthRequest,
encodeHealthResponse,
Expand Down
2 changes: 1 addition & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ services:
- MONGO_HOST=user-db:27017
- reschedule=on-node-failure
ports:
- "8080:8084"
- "8080:80"
user-db:
build:
context: ./docker/user-db/
Expand Down
6 changes: 3 additions & 3 deletions glide.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 1 addition & 3 deletions glide.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package: github.com/microservices-demo/user
import:
- package: github.com/go-kit/kit
version: v0.4.0
subpackages:
- endpoint
- log
Expand All @@ -16,9 +17,6 @@ import:
subpackages:
- prometheus
- prometheus/promhttp
- package: golang.org/x/net
subpackages:
- context
- package: gopkg.in/mgo.v2
subpackages:
- bson
Expand Down
10 changes: 4 additions & 6 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ import (
zipkin "github.com/openzipkin/zipkin-go-opentracing"
stdprometheus "github.com/prometheus/client_golang/prometheus"
commonMiddleware "github.com/weaveworks/common/middleware"
"golang.org/x/net/context"
)

var (
Expand Down Expand Up @@ -51,22 +50,21 @@ func main() {
flag.Parse()
// Mechanical stuff.
errc := make(chan error)
ctx := context.Background()

// Log domain.
var logger log.Logger
{
logger = log.NewLogfmtLogger(os.Stderr)
logger = log.NewContext(logger).With("ts", log.DefaultTimestampUTC)
logger = log.NewContext(logger).With("caller", log.DefaultCaller)
logger = log.With(logger, "ts", log.DefaultTimestampUTC)
logger = log.With(logger, "caller", log.DefaultCaller)
}

var tracer stdopentracing.Tracer
{
if zip == "" {
tracer = stdopentracing.NoopTracer{}
} else {
logger := log.NewContext(logger).With("tracer", "Zipkin")
logger := log.With(logger, "tracer", "Zipkin")
logger.Log("addr", zip)
collector, err := zipkin.NewHTTPCollector(
zip,
Expand Down Expand Up @@ -128,7 +126,7 @@ func main() {
endpoints := api.MakeEndpoints(service, tracer)

// HTTP router
router := api.MakeHTTPHandler(ctx, endpoints, logger, tracer)
router := api.MakeHTTPHandler(endpoints, logger, tracer)

httpMiddleware := []commonMiddleware.Interface{
commonMiddleware.Instrument{
Expand Down

0 comments on commit b5ec77e

Please sign in to comment.