server

package
v0.0.8-rc2 Latest Latest
Warning

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

Go to latest
Published: Oct 14, 2024 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddLocationPollerPath

func AddLocationPollerPath() string

AddLocationPollerPath returns the URL path to the Poller service add_location HTTP endpoint.

func AddWorkerPollerPath

func AddWorkerPollerPath() string

AddWorkerPollerPath returns the URL path to the Poller service add_worker HTTP endpoint.

func DecodeAddLocationRequest

func DecodeAddLocationRequest(mux goahttp.Muxer, decoder func(*http.Request) goahttp.Decoder) func(*http.Request) (any, error)

DecodeAddLocationRequest returns a decoder for requests sent to the Poller add_location endpoint.

func DecodeSubscribeRequest

func DecodeSubscribeRequest(mux goahttp.Muxer, decoder func(*http.Request) goahttp.Decoder) func(*http.Request) (any, error)

DecodeSubscribeRequest returns a decoder for requests sent to the Poller subscribe endpoint.

func EncodeAddLocationError

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

EncodeAddLocationError returns an encoder for errors returned by the add_location Poller endpoint.

func EncodeAddLocationResponse

func EncodeAddLocationResponse(encoder func(context.Context, http.ResponseWriter) goahttp.Encoder) func(context.Context, http.ResponseWriter, any) error

EncodeAddLocationResponse returns an encoder for responses returned by the Poller add_location endpoint.

func EncodeAddWorkerResponse

func EncodeAddWorkerResponse(encoder func(context.Context, http.ResponseWriter) goahttp.Encoder) func(context.Context, http.ResponseWriter, any) error

EncodeAddWorkerResponse returns an encoder for responses returned by the Poller add_worker endpoint.

func EncodeRemoveWorkerError

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

EncodeRemoveWorkerError returns an encoder for errors returned by the remove_worker Poller endpoint.

func EncodeRemoveWorkerResponse

func EncodeRemoveWorkerResponse(encoder func(context.Context, http.ResponseWriter) goahttp.Encoder) func(context.Context, http.ResponseWriter, any) error

EncodeRemoveWorkerResponse returns an encoder for responses returned by the Poller remove_worker endpoint.

func EncodeStatusResponse

func EncodeStatusResponse(encoder func(context.Context, http.ResponseWriter) goahttp.Encoder) func(context.Context, http.ResponseWriter, any) error

EncodeStatusResponse returns an encoder for responses returned by the Poller status endpoint.

func Mount

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

Mount configures the mux to serve the Poller endpoints.

func MountAddLocationHandler

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

MountAddLocationHandler configures the mux to serve the "Poller" service "add_location" endpoint.

func MountAddWorkerHandler

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

MountAddWorkerHandler configures the mux to serve the "Poller" service "add_worker" endpoint.

func MountRemoveWorkerHandler

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

MountRemoveWorkerHandler configures the mux to serve the "Poller" service "remove_worker" endpoint.

func MountStatusHandler

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

MountStatusHandler configures the mux to serve the "Poller" service "status" endpoint.

func MountSubscribeHandler

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

MountSubscribeHandler configures the mux to serve the "Poller" service "subscribe" endpoint.

func NewAddLocationCityAndState

func NewAddLocationCityAndState(city string, state string) *poller.CityAndState

NewAddLocationCityAndState builds a Poller service add_location endpoint payload.

func NewAddLocationHandler

func NewAddLocationHandler(
	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(ctx context.Context, err error) goahttp.Statuser,
) http.Handler

NewAddLocationHandler creates a HTTP handler which loads the HTTP request and calls the "Poller" service "add_location" endpoint.

func NewAddWorkerHandler

func NewAddWorkerHandler(
	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(ctx context.Context, err error) goahttp.Statuser,
) http.Handler

NewAddWorkerHandler creates a HTTP handler which loads the HTTP request and calls the "Poller" service "add_worker" endpoint.

func NewRemoveWorkerHandler

func NewRemoveWorkerHandler(
	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(ctx context.Context, err error) goahttp.Statuser,
) http.Handler

NewRemoveWorkerHandler creates a HTTP handler which loads the HTTP request and calls the "Poller" service "remove_worker" endpoint.

func NewStatusHandler

func NewStatusHandler(
	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(ctx context.Context, err error) goahttp.Statuser,
) http.Handler

NewStatusHandler creates a HTTP handler which loads the HTTP request and calls the "Poller" service "status" endpoint.

func NewSubscribeCityAndState

func NewSubscribeCityAndState(city string, state string) *poller.CityAndState

NewSubscribeCityAndState builds a Poller service subscribe endpoint payload.

func NewSubscribeHandler

func NewSubscribeHandler(
	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(ctx context.Context, err error) goahttp.Statuser,
	upgrader goahttp.Upgrader,
	configurer goahttp.ConnConfigureFunc,
) http.Handler

NewSubscribeHandler creates a HTTP handler which loads the HTTP request and calls the "Poller" service "subscribe" endpoint.

func RemoveWorkerPollerPath

func RemoveWorkerPollerPath() string

RemoveWorkerPollerPath returns the URL path to the Poller service remove_worker HTTP endpoint.

func StatusPollerPath

func StatusPollerPath() string

StatusPollerPath returns the URL path to the Poller service status HTTP endpoint.

func SubscribePollerPath

func SubscribePollerPath() string

SubscribePollerPath returns the URL path to the Poller service subscribe HTTP endpoint.

Types

type AddLocationLocationExistsResponseBody

type AddLocationLocationExistsResponseBody 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"`
}

AddLocationLocationExistsResponseBody is the type of the "Poller" service "add_location" endpoint HTTP response body for the "location_exists" error.

func NewAddLocationLocationExistsResponseBody

func NewAddLocationLocationExistsResponseBody(res *goa.ServiceError) *AddLocationLocationExistsResponseBody

NewAddLocationLocationExistsResponseBody builds the HTTP response body from the result of the "add_location" endpoint of the "Poller" service.

type AddWorkerResponseBody

type AddWorkerResponseBody struct {
	// Worker ID
	ID string `form:"id" json:"id" xml:"id"`
	// Worker poll jobs
	Jobs []*JobResponseBody `form:"jobs" json:"jobs" xml:"jobs"`
	// Creation timestamp
	CreatedAt string `form:"created_at" json:"created_at" xml:"created_at"`
}

AddWorkerResponseBody is the type of the "Poller" service "add_worker" endpoint HTTP response body.

func NewAddWorkerResponseBody

func NewAddWorkerResponseBody(res *poller.Worker) *AddWorkerResponseBody

NewAddWorkerResponseBody builds the HTTP response body from the result of the "add_worker" endpoint of the "Poller" service.

type ConnConfigurer

type ConnConfigurer struct {
	SubscribeFn goahttp.ConnConfigureFunc
}

ConnConfigurer holds the websocket connection configurer functions for the streaming endpoints in "Poller" service.

func NewConnConfigurer

func NewConnConfigurer(fn goahttp.ConnConfigureFunc) *ConnConfigurer

NewConnConfigurer initializes the websocket connection configurer function with fn for all the streaming endpoints in "Poller" service.

type JobResponseBody

type JobResponseBody struct {
	// Job key
	Key string `form:"key" json:"key" xml:"key"`
	// Job payload
	Payload []byte `form:"payload" json:"payload" xml:"payload"`
	// Creation timestamp
	CreatedAt string `form:"created_at" json:"created_at" xml:"created_at"`
}

JobResponseBody is used to define fields on response body types.

type LocationResponseBody

type LocationResponseBody struct {
	// Latitude
	Lat float64 `form:"lat" json:"lat" xml:"lat"`
	// Longitude
	Long float64 `form:"long" json:"long" xml:"long"`
	// City
	City string `form:"city" json:"city" xml:"city"`
	// State
	State string `form:"state" json:"state" xml:"state"`
}

LocationResponseBody is used to define fields on response body types.

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 PeriodResponseBody

type PeriodResponseBody struct {
	// Period name
	Name string `form:"name" json:"name" xml:"name"`
	// Start time
	StartTime string `form:"startTime" json:"startTime" xml:"startTime"`
	// End time
	EndTime string `form:"endTime" json:"endTime" xml:"endTime"`
	// Temperature
	Temperature int `form:"temperature" json:"temperature" xml:"temperature"`
	// Temperature unit
	TemperatureUnit string `form:"temperatureUnit" json:"temperatureUnit" xml:"temperatureUnit"`
	// Summary
	Summary string `form:"summary" json:"summary" xml:"summary"`
}

PeriodResponseBody is used to define fields on response body types.

type RemoveWorkerTooFewResponseBody

type RemoveWorkerTooFewResponseBody 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"`
}

RemoveWorkerTooFewResponseBody is the type of the "Poller" service "remove_worker" endpoint HTTP response body for the "too_few" error.

func NewRemoveWorkerTooFewResponseBody

func NewRemoveWorkerTooFewResponseBody(res *goa.ServiceError) *RemoveWorkerTooFewResponseBody

NewRemoveWorkerTooFewResponseBody builds the HTTP response body from the result of the "remove_worker" endpoint of the "Poller" service.

type Server

type Server struct {
	Mounts       []*MountPoint
	AddLocation  http.Handler
	Subscribe    http.Handler
	AddWorker    http.Handler
	RemoveWorker http.Handler
	Status       http.Handler
}

Server lists the Poller service endpoint HTTP handlers.

func New

func New(
	e *poller.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(ctx context.Context, err error) goahttp.Statuser,
	upgrader goahttp.Upgrader,
	configurer *ConnConfigurer,
) *Server

New instantiates HTTP handlers for all the Poller 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) MethodNames

func (s *Server) MethodNames() []string

MethodNames returns the methods served.

func (*Server) Mount

func (s *Server) Mount(mux goahttp.Muxer)

Mount configures the mux to serve the Poller endpoints.

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 StatusResponseBody

type StatusResponseBody struct {
	// Poller workers
	Workers []*WorkerResponseBody `form:"workers" json:"workers" xml:"workers"`
	// Location poll jobs
	Jobs []*JobResponseBody `form:"jobs" json:"jobs" xml:"jobs"`
}

StatusResponseBody is the type of the "Poller" service "status" endpoint HTTP response body.

func NewStatusResponseBody

func NewStatusResponseBody(res *poller.PollerStatus) *StatusResponseBody

NewStatusResponseBody builds the HTTP response body from the result of the "status" endpoint of the "Poller" service.

type SubscribeResponseBody

type SubscribeResponseBody struct {
	// Forecast location
	Location *LocationResponseBody `form:"location" json:"location" xml:"location"`
	// Weather forecast periods
	Periods []*PeriodResponseBody `form:"periods" json:"periods" xml:"periods"`
}

SubscribeResponseBody is the type of the "Poller" service "subscribe" endpoint HTTP response body.

func NewSubscribeResponseBody

func NewSubscribeResponseBody(res *poller.Forecast) *SubscribeResponseBody

NewSubscribeResponseBody builds the HTTP response body from the result of the "subscribe" endpoint of the "Poller" service.

type SubscribeServerStream

type SubscribeServerStream struct {
	// contains filtered or unexported fields
}

SubscribeServerStream implements the poller.SubscribeServerStream interface.

func (*SubscribeServerStream) Close

func (s *SubscribeServerStream) Close() error

Close closes the "subscribe" endpoint websocket connection.

func (*SubscribeServerStream) Send

Send streams instances of "poller.Forecast" to the "subscribe" endpoint websocket connection.

type WorkerResponseBody

type WorkerResponseBody struct {
	// Worker ID
	ID string `form:"id" json:"id" xml:"id"`
	// Worker poll jobs
	Jobs []*JobResponseBody `form:"jobs" json:"jobs" xml:"jobs"`
	// Creation timestamp
	CreatedAt string `form:"created_at" json:"created_at" xml:"created_at"`
}

WorkerResponseBody is used to define fields on response body types.

Jump to

Keyboard shortcuts

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