server

package
v0.0.0-...-b9360c4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 15, 2023 License: BSD-3-Clause Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DecodeWebhookRequest

func DecodeWebhookRequest(mux goahttp.Muxer, decoder func(*http.Request) goahttp.Decoder) func(*http.Request) (interface{}, error)

DecodeWebhookRequest returns a decoder for requests sent to the ttn webhook endpoint.

func EncodeWebhookError

func EncodeWebhookError(encoder func(context.Context, http.ResponseWriter) goahttp.Encoder, formatter func(err error) goahttp.Statuser) func(context.Context, http.ResponseWriter, error) error

EncodeWebhookError returns an encoder for errors returned by the webhook ttn endpoint.

func EncodeWebhookResponse

func EncodeWebhookResponse(encoder func(context.Context, http.ResponseWriter) goahttp.Encoder) func(context.Context, http.ResponseWriter, interface{}) error

EncodeWebhookResponse returns an encoder for responses returned by the ttn webhook endpoint.

func Mount

func Mount(mux goahttp.Muxer, h *Server)

Mount configures the mux to serve the ttn endpoints.

func MountCORSHandler

func MountCORSHandler(mux goahttp.Muxer, h http.Handler)

MountCORSHandler configures the mux to serve the CORS endpoints for the service ttn.

func MountWebhookHandler

func MountWebhookHandler(mux goahttp.Muxer, h http.Handler)

MountWebhookHandler configures the mux to serve the "ttn" service "webhook" endpoint.

func NewCORSHandler

func NewCORSHandler() http.Handler

NewCORSHandler creates a HTTP handler which returns a simple 200 response.

func NewWebhookHandler

func NewWebhookHandler(
	endpoint goa.Endpoint,
	mux goahttp.Muxer,
	decoder func(*http.Request) goahttp.Decoder,
	encoder func(context.Context, http.ResponseWriter) goahttp.Encoder,
	errhandler func(context.Context, http.ResponseWriter, error),
	formatter func(err error) goahttp.Statuser,
) http.Handler

NewWebhookHandler creates a HTTP handler which loads the HTTP request and calls the "ttn" service "webhook" endpoint.

func NewWebhookPayload

func NewWebhookPayload(token *string, contentType string, contentLength int64, auth *string) *ttn.WebhookPayload

NewWebhookPayload builds a ttn service webhook endpoint payload.

func WebhookTtnPath

func WebhookTtnPath() string

WebhookTtnPath returns the URL path to the ttn service webhook HTTP endpoint.

Types

type ErrorNamer

type ErrorNamer interface {
	ErrorName() string
}

ErrorNamer is an interface implemented by generated error structs that exposes the name of the error as defined in the design.

type MountPoint

type MountPoint struct {
	// Method is the name of the service method served by the mounted HTTP handler.
	Method string
	// Verb is the HTTP method used to match requests to the mounted handler.
	Verb string
	// Pattern is the HTTP request path pattern used to match requests to the
	// mounted handler.
	Pattern string
}

MountPoint holds information about the mounted endpoints.

type Server

type Server struct {
	Mounts  []*MountPoint
	Webhook http.Handler
	CORS    http.Handler
}

Server lists the ttn service endpoint HTTP handlers.

func New

func New(
	e *ttn.Endpoints,
	mux goahttp.Muxer,
	decoder func(*http.Request) goahttp.Decoder,
	encoder func(context.Context, http.ResponseWriter) goahttp.Encoder,
	errhandler func(context.Context, http.ResponseWriter, error),
	formatter func(err error) goahttp.Statuser,
) *Server

New instantiates HTTP handlers for all the ttn service endpoints using the provided encoder and decoder. The handlers are mounted on the given mux using the HTTP verb and path defined in the design. errhandler is called whenever a response fails to be encoded. formatter is used to format errors returned by the service methods prior to encoding. Both errhandler and formatter are optional and can be nil.

func (*Server) Service

func (s *Server) Service() string

Service returns the name of the service served.

func (*Server) Use

func (s *Server) Use(m func(http.Handler) http.Handler)

Use wraps the server handlers with the given middleware.

type WebhookBadRequestResponseBody

type WebhookBadRequestResponseBody struct {
	// Name is the name of this class of errors.
	Name string `form:"name" json:"name" xml:"name"`
	// ID is a unique identifier for this particular occurrence of the problem.
	ID string `form:"id" json:"id" xml:"id"`
	// Message is a human-readable explanation specific to this occurrence of the
	// problem.
	Message string `form:"message" json:"message" xml:"message"`
	// Is the error temporary?
	Temporary bool `form:"temporary" json:"temporary" xml:"temporary"`
	// Is the error a timeout?
	Timeout bool `form:"timeout" json:"timeout" xml:"timeout"`
	// Is the error a server-side fault?
	Fault bool `form:"fault" json:"fault" xml:"fault"`
}

WebhookBadRequestResponseBody is the type of the "ttn" service "webhook" endpoint HTTP response body for the "bad-request" error.

func NewWebhookBadRequestResponseBody

func NewWebhookBadRequestResponseBody(res *goa.ServiceError) *WebhookBadRequestResponseBody

NewWebhookBadRequestResponseBody builds the HTTP response body from the result of the "webhook" endpoint of the "ttn" service.

type WebhookForbiddenResponseBody

type WebhookForbiddenResponseBody struct {
	// Name is the name of this class of errors.
	Name string `form:"name" json:"name" xml:"name"`
	// ID is a unique identifier for this particular occurrence of the problem.
	ID string `form:"id" json:"id" xml:"id"`
	// Message is a human-readable explanation specific to this occurrence of the
	// problem.
	Message string `form:"message" json:"message" xml:"message"`
	// Is the error temporary?
	Temporary bool `form:"temporary" json:"temporary" xml:"temporary"`
	// Is the error a timeout?
	Timeout bool `form:"timeout" json:"timeout" xml:"timeout"`
	// Is the error a server-side fault?
	Fault bool `form:"fault" json:"fault" xml:"fault"`
}

WebhookForbiddenResponseBody is the type of the "ttn" service "webhook" endpoint HTTP response body for the "forbidden" error.

func NewWebhookForbiddenResponseBody

func NewWebhookForbiddenResponseBody(res *goa.ServiceError) *WebhookForbiddenResponseBody

NewWebhookForbiddenResponseBody builds the HTTP response body from the result of the "webhook" endpoint of the "ttn" service.

type WebhookNotFoundResponseBody

type WebhookNotFoundResponseBody struct {
	// Name is the name of this class of errors.
	Name string `form:"name" json:"name" xml:"name"`
	// ID is a unique identifier for this particular occurrence of the problem.
	ID string `form:"id" json:"id" xml:"id"`
	// Message is a human-readable explanation specific to this occurrence of the
	// problem.
	Message string `form:"message" json:"message" xml:"message"`
	// Is the error temporary?
	Temporary bool `form:"temporary" json:"temporary" xml:"temporary"`
	// Is the error a timeout?
	Timeout bool `form:"timeout" json:"timeout" xml:"timeout"`
	// Is the error a server-side fault?
	Fault bool `form:"fault" json:"fault" xml:"fault"`
}

WebhookNotFoundResponseBody is the type of the "ttn" service "webhook" endpoint HTTP response body for the "not-found" error.

func NewWebhookNotFoundResponseBody

func NewWebhookNotFoundResponseBody(res *goa.ServiceError) *WebhookNotFoundResponseBody

NewWebhookNotFoundResponseBody builds the HTTP response body from the result of the "webhook" endpoint of the "ttn" service.

type WebhookUnauthorizedResponseBody

type WebhookUnauthorizedResponseBody string

WebhookUnauthorizedResponseBody is the type of the "ttn" service "webhook" endpoint HTTP response body for the "unauthorized" error.

func NewWebhookUnauthorizedResponseBody

func NewWebhookUnauthorizedResponseBody(res ttn.Unauthorized) WebhookUnauthorizedResponseBody

NewWebhookUnauthorizedResponseBody builds the HTTP response body from the result of the "webhook" endpoint of the "ttn" service.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL