Skip to content

Instantly share code, notes, and snippets.

@antklim
antklim / go-kit-greeter-endpoints.go
Created June 3, 2018 09:48
Go Kit transport agnostic service endpoints
package greeterendpoint
import (
"context"
"github.com/go-kit/kit/log"
"github.com/antklim/go-microservices/go-kit-greeter/pkg/greeterservice"
"github.com/go-kit/kit/endpoint"
)
@antklim
antklim / go-kit-greeter-http.go
Created June 3, 2018 09:50
Go Kit http transport endpoints
package greetertransport
import (
"context"
"encoding/json"
"errors"
"net/http"
"github.com/antklim/go-microservices/go-kit-greeter/pkg/greeterendpoint"
"github.com/go-kit/kit/log"
@antklim
antklim / go-kit-grpc.go
Created June 3, 2018 10:07
Go Kit gRPC endpoints
package greetertransport
import (
"context"
"github.com/antklim/go-microservices/go-kit-greeter/pb"
"github.com/antklim/go-microservices/go-kit-greeter/pkg/greeterendpoint"
"github.com/go-kit/kit/log"
grpctransport "github.com/go-kit/kit/transport/grpc"
oldcontext "golang.org/x/net/context"
@antklim
antklim / go-kit-sd.go
Created June 3, 2018 10:09
Go Kit service discovery registrar
package greetersd
import (
"math/rand"
"os"
"strconv"
"time"
"github.com/go-kit/kit/log"
"github.com/go-kit/kit/sd"
@antklim
antklim / go-kit-service-starter.go
Created June 3, 2018 10:11
Go Kit service starter
package main
import (
"flag"
"fmt"
"net"
"net/http"
"os"
"os/signal"
"syscall"
@antklim
antklim / go-greeter-gen.sh
Created June 3, 2018 21:05
Protobuf service interface generator
#!/usr/bin/env sh
protoc greeter.proto --go_out=plugins=grpc:.
@antklim
antklim / go-kit-greeter-service-middleware.go
Created June 3, 2018 21:09
Go Kit greeter service middleware
package greeterservice
import (
"time"
"github.com/go-kit/kit/log"
)
// ServiceMiddleware describes a service middleware.
type ServiceMiddleware func(Service) Service
@antklim
antklim / go-kit-greeter-endpoints-middleware.go
Created June 3, 2018 21:11
Go Kit greeter endpoints middleware
package greeterendpoint
import (
"context"
"time"
"github.com/go-kit/kit/endpoint"
"github.com/go-kit/kit/log"
)
@antklim
antklim / gizmo-greeter-endpoints.go
Created June 3, 2018 21:20
Gizmo greeter endpoints
package greeterendpoint
import (
"net/http"
ocontext "golang.org/x/net/context"
"github.com/NYTimes/gizmo/server"
"github.com/antklim/go-microservices/gizmo-greeter/pkg/greeterservice"
)
@antklim
antklim / gizmo-greeter-http.go
Created June 3, 2018 21:23
Gizmo greeter HTTP
package greetertransport
import (
"context"
"github.com/NYTimes/gizmo/server"
"google.golang.org/grpc"
"errors"
"net/http"