server

package
v2.0.10+incompatible Latest Latest
Warning

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

Go to latest
Published: Feb 2, 2020 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DecodeFetchRequest

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

DecodeFetchRequest returns a decoder for requests sent to the fetcher fetch endpoint.

func EncodeFetchError

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

EncodeFetchError returns an encoder for errors returned by the fetch fetcher endpoint.

func EncodeFetchResponse

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

EncodeFetchResponse returns an encoder for responses returned by the fetcher fetch endpoint.

func FetchFetcherPath

func FetchFetcherPath(url_ string) string

FetchFetcherPath returns the URL path to the fetcher service fetch HTTP endpoint.

func Mount

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

Mount configures the mux to serve the fetcher endpoints.

func MountFetchHandler

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

MountFetchHandler configures the mux to serve the "fetcher" service "fetch" endpoint.

func NewFetchHandler

func NewFetchHandler(
	endpoint endpoint.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

NewFetchHandler creates a HTTP handler which loads the HTTP request and calls the "fetcher" service "fetch" endpoint.

func NewFetchPayload

func NewFetchPayload(url_ string) *fetcher.FetchPayload

NewFetchPayload builds a fetcher service fetch endpoint payload.

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 FetchBadRequestResponseBody

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

FetchBadRequestResponseBody is the type of the "fetcher" service "fetch" endpoint HTTP response body for the "bad_request" error.

func NewFetchBadRequestResponseBody

func NewFetchBadRequestResponseBody(res *goa.ServiceError) *FetchBadRequestResponseBody

NewFetchBadRequestResponseBody builds the HTTP response body from the result of the "fetch" endpoint of the "fetcher" service.

type FetchInternalErrorResponseBody

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

FetchInternalErrorResponseBody is the type of the "fetcher" service "fetch" endpoint HTTP response body for the "internal_error" error.

func NewFetchInternalErrorResponseBody

func NewFetchInternalErrorResponseBody(res *goa.ServiceError) *FetchInternalErrorResponseBody

NewFetchInternalErrorResponseBody builds the HTTP response body from the result of the "fetch" endpoint of the "fetcher" service.

type FetchResponseBody

type FetchResponseBody struct {
	// HTTP status code returned by fetched service
	Status int `form:"status" json:"status" xml:"status"`
	// The href to the corresponding archive in the archiver service
	ArchiveHref string `form:"archive_href" json:"archive_href" xml:"archive_href"`
}

FetchResponseBody is the type of the "fetcher" service "fetch" endpoint HTTP response body.

func NewFetchResponseBody

func NewFetchResponseBody(res *fetcherviews.FetchMediaView) *FetchResponseBody

NewFetchResponseBody builds the HTTP response body from the result of the "fetch" endpoint of the "fetcher" service.

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
	Fetch  http.Handler
}

Server lists the fetcher service endpoint HTTP handlers.

func New

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

Jump to

Keyboard shortcuts

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