Versions in this module Expand all Collapse all v2 v2.0.3 Aug 9, 2020 v2.0.2 Aug 9, 2020 Changes in this version + const ContentTypeCss + const ContentTypeCsv + const ContentTypeGif + const ContentTypeHtml + const ContentTypeJson + const ContentTypeMsgpack + const ContentTypeMultipartFormData + const ContentTypeOctetStream + const ContentTypePlain + const ContentTypePng + const ContentTypeProtobuf + const ContentTypeWwwFormUrlencoded + const ContentTypeXml + const EcodeApiVersionInvalid + const EcodeApiVersionTooNew + const EcodeApiVersionTooOld + const EcodeDeserializationFailed + const EcodeInternal + const EcodeInvalidParameterValue + const EcodeInvalidViewName + const EcodeInvalidViewParameter + const EcodeLocked + const EcodeMissingViewParameter + const EcodeResourceIdMismatch + const EcodeSerializationFailed + const EcodeUnknown + const EcodeUnsupportedMediaType + const EcodeUpdatePreempted + const EcodeValidationFailed + const HeaderAccept + const HeaderAcceptEncoding + const HeaderAuthorization + const HeaderCacheControl + const HeaderContentDisposition + const HeaderContentEncoding + const HeaderContentLength + const HeaderContentType + const HeaderETag + const HeaderExpect + const HeaderForwardedFor + const HeaderForwardedHost + const HeaderIfNoneMatch + const HeaderLocation + const HeaderRequestId + const HeaderSessionId + const HeaderSpirentApiVersion + const HeaderSpirentInhibitResponse + const HeaderSpirentNextLink + const HeaderSpirentPageSize + const HeaderSpirentResourceNonce + const HeaderUserAgent + const RouteParamAction + const RouteParamId + const RouteTagSeg1 + const RouteTagSeg2 + const TraceKindAWS + const TraceKindProcess + const TraceKindRequest + const TraceKindWorker + var ErrInvalidMaxApiVersion = errors.New("service's maximum API version must be greater than zero") + var ErrInvalidMinApiVersion = errors.New("service's minimum API version must be greater than zero") + var ErrMismatchedApiVersions = errors.New(...) + var FormDecoder = schema.NewDecoder() + func AddActionCollectionRoute(router *httptreemux.ContextMux, basePath string, r CollectionActioner) + func AddActionSingletonRoute(router *httptreemux.ContextMux, basePath string, r SingletonActioner) + func AddCountCollectionRoute(router *httptreemux.ContextMux, basePath string, r CollectionCounter) + func AddCreateCollectionRoute(router *httptreemux.ContextMux, basePath string, r CollectionCreator) + func AddDeleteCollectionRoute(router *httptreemux.ContextMux, basePath string, r CollectionDeleter) + func AddGetCollectionRoute(router *httptreemux.ContextMux, basePath string, r CollectionGetter) + func AddGetSingletonRoute(router *httptreemux.ContextMux, basePath string, r SingletonGetter) + func AddListCollectionRoute(router *httptreemux.ContextMux, basePath string, r CollectionLister) + func AddUpdateCollectionRoute(router *httptreemux.ContextMux, basePath string, r CollectionUpdater) + func AddUpdateSingletonRoute(router *httptreemux.ContextMux, basePath string, r SingletonUpdater) + func ContextApiVersion(ctx context.Context) (apiVersion int) + func ContextDetail(ctx context.Context, key interface{}) (value interface{}) + func ContextLogger(ctx context.Context) (logger *log.Logger) + func ContextRequest(ctx context.Context) (request *http.Request) + func ContextRequestId(ctx context.Context) (requestId string) + func ContextRequestProgress(ctx context.Context) (reqProgress string) + func ContextResponseHeaders(ctx context.Context) (header http.Header) + func ContextSessionId(ctx context.Context) (sessionId string) + func NewStoppableTCPListener(addr string, keepalives bool) (net.Listener, error) + func NewStoppableTLSListener(addr string, keepalives bool, certFile string, keyFile string) (net.Listener, error) + func ReadConfig(path string, cfg interface{}) error + func ReadRequest(req *http.Request, v interface{}) error + func RegisterFormat(format string, mimeTypes []string) + func RegisterTraceRecorder(name string, recorder trace.Recorder) + func RequestBearerToken(r *http.Request) string + func RequestExternalHost(r *http.Request) string + func RequestNextLink(r *http.Request, cursor string) *url.URL + func RequestPageSize(r *http.Request) (pageSize int) + func RequestQueryCursor(r *http.Request) string + func RequestResourceNonce(r *http.Request) string + func SetContextDetail(ctx context.Context, key, value interface{}) + func SetContextRequestProgress(ctx context.Context, progress string) + func TestDispatch(rw http.ResponseWriter, req *http.Request, h http.Handler) + func WriteResponse(rw http.ResponseWriter, status int, v interface{}) (err error) + type CollectionActioner interface + Action func(req *http.Request, id string, action string) (int, interface{}) + type CollectionCounter interface + Count func(req *http.Request) (int, interface{}) + type CollectionCreator interface + Create func(req *http.Request, value interface{}) (int, interface{}) + Id func(value interface{}) string + New func() interface{} + type CollectionDeleter interface + Delete func(req *http.Request, id string) (int, interface{}) + type CollectionGetter interface + Get func(req *http.Request, id string) (int, interface{}) + type CollectionLister interface + List func(req *http.Request) (int, interface{}) + type CollectionUpdater interface + Id func(value interface{}) string + New func() interface{} + Update func(req *http.Request, id string, value interface{}) (int, interface{}) + type Error struct + Code string + Message string + Stack string + XMLName xml.Name + func NewError(errorMap map[string]string, code string, args ...interface{}) *Error + func (e *Error) Error() string + type ListenerStoppedError struct + func (e *ListenerStoppedError) Error() string + type ResponseWriter interface + Size func() int64 + Status func() int + Written func() bool + func ContextResponseWriter(ctx context.Context) (rw ResponseWriter) + type Service struct + func ContextService(ctx context.Context) (s *Service) + func NewService(config *ServiceConfig) (*Service, error) + func (s *Service) AddHandler(h http.Handler) + func (s *Service) AddResource(version int, basePath string, r interface{}) error + func (s *Service) Config() *ServiceConfig + func (s *Service) Logger() *log.Logger + func (s *Service) Router(version int) (*httptreemux.ContextMux, error) + func (s *Service) Run() (err error) + func (s *Service) ServeHTTP(rw http.ResponseWriter, req *http.Request) + func (s *Service) SetRecoveryHandler(...) + func (s *Service) SetSchemas(schemas http.FileSystem) + type ServiceConfig struct + Addr string + CORS struct{ ... } + Credentials map[string]string + Debug struct{ ... } + Log struct{ ... } + Metrics struct{ ... } + Prefix string + Profiler struct{ ... } + Schema struct{ ... } + Trace struct{ ... } + Transport struct{ ... } + Version struct{ ... } + func (config *ServiceConfig) Normalize() + func (config *ServiceConfig) Validate() error + type SingletonActioner interface + Action func(req *http.Request, action string) (int, interface{}) + type SingletonGetter interface + Get func(req *http.Request) (int, interface{}) + type SingletonUpdater interface + New func() interface{} + Update func(req *http.Request, value interface{}) (int, interface{}) + type StoppableTCPListener struct + func (sl *StoppableTCPListener) Accept() (net.Conn, error)