Documentation ¶
Overview ¶
Package backbone provides a gRPC and HTTP server backbone for microservices.
Example ¶
package main import ( "context" "fmt" "os" "github.com/spf13/pflag" "htdvisser.dev/exp/backbone/server" "htdvisser.dev/exp/backbone/server/recovery" "htdvisser.dev/exp/backbone/server/reflection" "htdvisser.dev/exp/clicontext" "htdvisser.dev/exp/pflagenv" ) var config struct { server server.Config } func init() { pflag.CommandLine.AddFlagSet(config.server.Flags("", nil)) } func main() { ctx, exit := clicontext.WithInterruptAndExit(context.Background()) defer exit() if err := pflagenv.NewParser(pflagenv.Prefixes("backbone_")).ParseEnv(pflag.CommandLine); err != nil { fmt.Fprintln(os.Stderr, err) pflag.Usage() os.Exit(2) } pflag.Parse() server := server.New(config.server) reflection.Register(server) recovery.Register(server) // TODO: Register services here. if err := server.Run(ctx); err != nil { fmt.Fprintln(os.Stderr, err) return } }
Output:
Directories ¶
Path | Synopsis |
---|---|
client
|
|
cookie
Package cookie provides middleware for working with device, session and user session cookies.
|
Package cookie provides middleware for working with device, session and user session cookies. |
grpc
Package grpc provides the backbone for a gRPC server with some opinionated defaults.
|
Package grpc provides the backbone for a gRPC server with some opinionated defaults. |
http
Package http provides the backbone for an HTTP server with some opinionated defaults.
|
Package http provides the backbone for an HTTP server with some opinionated defaults. |
internal/channelz
Package channelz can be used to expose the channelz service on the gRPC server.
|
Package channelz can be used to expose the channelz service on the gRPC server. |
packet
Package packet provides the backbone for a UDP packet server with some opinionated defaults.
|
Package packet provides the backbone for a UDP packet server with some opinionated defaults. |
recovery
Package recovery can be used to add panic recovery middleware to the server.
|
Package recovery can be used to add panic recovery middleware to the server. |
reflection
Package reflection can be used to support gRPC server reflection on the server.
|
Package reflection can be used to support gRPC server reflection on the server. |
stream
Package stream provides the backbone for a TCP stream server with some opinionated defaults.
|
Package stream provides the backbone for a TCP stream server with some opinionated defaults. |
Click to show internal directories.
Click to hide internal directories.