Documentation
¶
Index ¶
- func ProvidesResourceLocationHeader(provider LocationHeaderProvider) jsonapi.Middleware
- func ResolvesFieldsetParams() jsonapi.Middleware
- func ResolvesFieldsetParamsWithParser(parser FieldsetQueryParser) jsonapi.Middleware
- func ResolvesFilterParams() jsonapi.Middleware
- func ResolvesFilterParamsWithParser(parser FilterQueryParser) jsonapi.Middleware
- func ResolvesIncludedResources() mux.Options
- func ResolvesRelatedResources() mux.Options
- func ResolvesSortParams() jsonapi.Middleware
- func ResolvesSortParamsWithParser(parser SortQueryParser) jsonapi.Middleware
- type FieldsetQueryParser
- type FilterQueryParser
- type IncludeResolverMiddleware
- type LocationHeaderProvider
- type LocationProviderFunc
- type RelatedResourceResolverMiddleware
- type Router
- type SortQueryParser
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ProvidesResourceLocationHeader ¶
func ProvidesResourceLocationHeader(provider LocationHeaderProvider) jsonapi.Middleware
ProvidesResourceLocationHeader returns a middleware that provides the location header for a newly created resource node.
func ResolvesFieldsetParams ¶
func ResolvesFieldsetParams() jsonapi.Middleware
ResolvesFieldsetParams resolves the fieldset parameters from the request using the default fieldset query parser.
func ResolvesFieldsetParamsWithParser ¶
func ResolvesFieldsetParamsWithParser(parser FieldsetQueryParser) jsonapi.Middleware
ResolvesFieldsetParamsWithParser resolves the fieldset parameters from the request.
func ResolvesFilterParams ¶
func ResolvesFilterParams() jsonapi.Middleware
ResolvesFilterParams returns a middleware uses the default parser to extract filter query parameters, adding it to the request context.
func ResolvesFilterParamsWithParser ¶
func ResolvesFilterParamsWithParser(parser FilterQueryParser) jsonapi.Middleware
ResolvesFilterParamsWithParser returns a middleware that uses the provided parser to parse the filter query parameter, adding it to the request context.
func ResolvesIncludedResources ¶
ResolvesIncludedResources adds middleware that resolves client include requests.
func ResolvesRelatedResources ¶
ResolvesRelatedResources adds middleware that resolves related resource requests.
func ResolvesSortParams ¶
func ResolvesSortParams() jsonapi.Middleware
ResolvesSortParams resolves the sort parameters from the request using the default sort query parser.
func ResolvesSortParamsWithParser ¶
func ResolvesSortParamsWithParser(parser SortQueryParser) jsonapi.Middleware
ResolvesSortParamsWithParser resolves the sort parameters from the request.
Types ¶
type FieldsetQueryParser ¶
type FieldsetQueryParser interface { // ParseFieldsetQuery parses the fieldset query parameters from the request. ParseFieldsetQuery(r *http.Request) ([]query.Fieldset, error) }
FieldsetQueryParser is a function that parses the fieldset query parameters.
type FilterQueryParser ¶
type FilterQueryParser interface { // ParseFilterQuery parses the filter query parameter from the request. ParseFilterQuery(*http.Request) (query.FilterExpression, error) }
FilterQueryParser is a parser for JSON:API filter query parameters.
type IncludeResolverMiddleware ¶
type IncludeResolverMiddleware struct {
Router
}
IncludeResolverMiddleware is a middleware that resolves included resources.
func (IncludeResolverMiddleware) Middleware ¶
func (i IncludeResolverMiddleware) Middleware() jsonapi.Middleware
Middleware returns the middleware function.
type LocationHeaderProvider ¶
type LocationHeaderProvider interface { // LocationHeader returns the location header for the provided resource node. LocationHeader(*jsonapi.Resource) string }
LocationHeaderProvider provides a location header for a resource node.
type LocationProviderFunc ¶
LocationProviderFunc is a function that returns a location header for a resource node.
func DefaultLocationProvider ¶
func DefaultLocationProvider(baseURL string) LocationProviderFunc
DefaultLocationProvider returns a default location provider that uses the provided base URL and JSONAPI URL resolver to generate a Location header in responses. Given a base url https://api.example.com with resource type "users" and id "123" the location header will be:
"https://api.example.com/users/123"
func (LocationProviderFunc) LocationHeader ¶
func (f LocationProviderFunc) LocationHeader(node *jsonapi.Resource) string
LocationHeader returns the location header for the provided resource node.
type RelatedResourceResolverMiddleware ¶
type RelatedResourceResolverMiddleware struct {
Router
}
RelatedResourceResolverMiddleware is a middleware that resolves related resources.