Back to godoc.org

Package server

v0.30.2
Latest Go to latest

The latest major version is .

Published: Aug 13, 2020 | License: Apache-2.0 | Module: github.com/artefactual-labs/enduro

Index

func DecodeSubmitRequest

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

DecodeSubmitRequest returns a decoder for requests sent to the batch submit endpoint.

func EncodeStatusResponse

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

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

func EncodeSubmitError

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

EncodeSubmitError returns an encoder for errors returned by the submit batch endpoint.

func EncodeSubmitResponse

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

EncodeSubmitResponse returns an encoder for responses returned by the batch submit endpoint.

func Mount

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

Mount configures the mux to serve the batch endpoints.

func MountCORSHandler

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

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

func MountStatusHandler

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

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

func MountSubmitHandler

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

MountSubmitHandler configures the mux to serve the "batch" service "submit" endpoint.

func NewCORSHandler

func NewCORSHandler() http.Handler

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

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(err error) goahttp.Statuser,
) http.Handler

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

func NewSubmitHandler

func NewSubmitHandler(
	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

NewSubmitHandler creates a HTTP handler which loads the HTTP request and calls the "batch" service "submit" endpoint.

func NewSubmitPayload

func NewSubmitPayload(body *SubmitRequestBody) *batch.SubmitPayload

NewSubmitPayload builds a batch service submit endpoint payload.

func StatusBatchPath

func StatusBatchPath() string

StatusBatchPath returns the URL path to the batch service status HTTP endpoint.

func SubmitBatchPath

func SubmitBatchPath() string

SubmitBatchPath returns the URL path to the batch service submit HTTP endpoint.

func ValidateSubmitRequestBody

func ValidateSubmitRequestBody(body *SubmitRequestBody) (err error)

ValidateSubmitRequestBody runs the validations defined on SubmitRequestBody

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
	Submit http.Handler
	Status http.Handler
	CORS   http.Handler
}

Server lists the batch service endpoint HTTP handlers.

func New

func New(
	e *batch.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 batch 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 StatusResponseBody

type StatusResponseBody struct {
	Running    bool    `form:"running" json:"running" xml:"running"`
	Status     *string `form:"status,omitempty" json:"status,omitempty" xml:"status,omitempty"`
	WorkflowID *string `form:"workflow_id,omitempty" json:"workflow_id,omitempty" xml:"workflow_id,omitempty"`
	RunID      *string `form:"run_id,omitempty" json:"run_id,omitempty" xml:"run_id,omitempty"`
}

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

func NewStatusResponseBody

func NewStatusResponseBody(res *batch.BatchStatusResult) *StatusResponseBody

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

type SubmitNotAvailableResponseBody

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

SubmitNotAvailableResponseBody is the type of the "batch" service "submit" endpoint HTTP response body for the "not_available" error.

func NewSubmitNotAvailableResponseBody

func NewSubmitNotAvailableResponseBody(res *goa.ServiceError) *SubmitNotAvailableResponseBody

NewSubmitNotAvailableResponseBody builds the HTTP response body from the result of the "submit" endpoint of the "batch" service.

type SubmitNotValidResponseBody

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

SubmitNotValidResponseBody is the type of the "batch" service "submit" endpoint HTTP response body for the "not_valid" error.

func NewSubmitNotValidResponseBody

func NewSubmitNotValidResponseBody(res *goa.ServiceError) *SubmitNotValidResponseBody

NewSubmitNotValidResponseBody builds the HTTP response body from the result of the "submit" endpoint of the "batch" service.

type SubmitRequestBody

type SubmitRequestBody struct {
	Path     *string `form:"path,omitempty" json:"path,omitempty" xml:"path,omitempty"`
	Pipeline *string `form:"pipeline,omitempty" json:"pipeline,omitempty" xml:"pipeline,omitempty"`
}

SubmitRequestBody is the type of the "batch" service "submit" endpoint HTTP request body.

type SubmitResponseBody

type SubmitResponseBody struct {
	WorkflowID string `form:"workflow_id" json:"workflow_id" xml:"workflow_id"`
	RunID      string `form:"run_id" json:"run_id" xml:"run_id"`
}

SubmitResponseBody is the type of the "batch" service "submit" endpoint HTTP response body.

func NewSubmitResponseBody

func NewSubmitResponseBody(res *batch.BatchResult) *SubmitResponseBody

NewSubmitResponseBody builds the HTTP response body from the result of the "submit" endpoint of the "batch" service.

Package Files

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier