Documentation ¶
Overview ¶
Package api is for building api gateways
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func WithEndpoint ¶
func WithEndpoint(e *Endpoint) server.HandlerOption
WithEndpoint returns a server.HandlerOption with endpoint metadata set
Usage:
proto.RegisterHandler(service.Server(), new(Handler), api.WithEndpoint( &api.Endpoint{ Name: "Greeter.Hello", Path: []string{"/greeter"}, }, ))
Types ¶
type Api ¶
type Api interface { // Initialise options Init(...Option) error // Get the options Options() Options // Register an endpoint Register(*Endpoint) error // Deregister an endpoint Deregister(*Endpoint) error // Run the api Run(context.Context) error // Implemenation of api e.g http String() string }
The gateway interface provides a way to create composable API gateways
type Endpoint ¶
type Endpoint struct { // RPC Method e.g. Greeter.Hello Name string // Description e.g what's this endpoint for Description string // API Handler e.g rpc, proxy Handler string // HTTP Host e.g example.com Host []string // HTTP Methods e.g GET, POST Method []string // HTTP Path e.g /greeter. Expect POSIX regex Path []string // Stream flag Stream bool }
Endpoint is a mapping between an RPC method and HTTP endpoint
type Option ¶
func WithRouter ¶
WithRouter sets the router to use e.g static or registry
Directories ¶
Path | Synopsis |
---|---|
Package client provides an api client
|
Package client provides an api client |
Package handler provides http handlers
|
Package handler provides http handlers |
api
Package api provides an http-rpc handler which provides the entire http request over rpc
|
Package api provides an http-rpc handler which provides the entire http request over rpc |
event
Package event provides a handler which publishes an event
|
Package event provides a handler which publishes an event |
http
Package http is a http reverse proxy handler
|
Package http is a http reverse proxy handler |
rpc
Package rpc is a go-micro rpc handler.
|
Package rpc is a go-micro rpc handler. |
web
Package web contains the web handler including websocket support
|
Package web contains the web handler including websocket support |
internal
|
|
Package resolver resolves a http request to an endpoint
|
Package resolver resolves a http request to an endpoint |
grpc
Package grpc resolves a grpc service like /greeter.Say/Hello to greeter service
|
Package grpc resolves a grpc service like /greeter.Say/Hello to greeter service |
host
Package host resolves using http host
|
Package host resolves using http host |
path
Package path resolves using http path
|
Package path resolves using http path |
vpath
Package vpath resolves using http path and recognised versioned urls
|
Package vpath resolves using http path and recognised versioned urls |
Package router provides api service routing
|
Package router provides api service routing |
registry
Package registry provides a dynamic api service router
|
Package registry provides a dynamic api service router |
Package server provides an API gateway server which handles inbound requests
|
Package server provides an API gateway server which handles inbound requests |
acme
Package acme abstracts away various ACME libraries
|
Package acme abstracts away various ACME libraries |
acme/autocert
Package autocert is the ACME provider from golang.org/x/crypto/acme/autocert This provider does not take any config.
|
Package autocert is the ACME provider from golang.org/x/crypto/acme/autocert This provider does not take any config. |
http
Package http provides a http server with features; acme, cors, etc
|
Package http provides a http server with features; acme, cors, etc |
Click to show internal directories.
Click to hide internal directories.