carbond.Endpoint

The Endpoint class is a core abstraction in carbond which models an API as a tree of Endpoint instances, each of which is responsible for defining how to handle a given request to a particular URI

Static Properties

ALL_METHODS
Object
Required
Description A list of all HTTP methods recognized by carbond

Instance Properties

allowUnauthenticated
string[]
Required
Description Skip authentication for the HTTP methods listed on this endpoint
description
string
Default undefined
Description A brief description of what this endpoint does. This will be displayed in any generated documentation.
endpoints
Object.<string, carbond.Endpoint>
Required
Description The endpoints that sit below this endpoint in the tree. URL paths to each endpoint are built during a depth first traversal of the tree on initialization using the property names defined on this Object.
noDocument
boolean
Default false
Description Controls whether documentation for this endpoint is included in generated static documentation
parameters
Object.<string, carbond.OperationParameter>
Required
Description Operation parameter definitions that apply to all operations supported by this endpoint. Note, these will be merged with any parameter definitions on the operations themselves and their parsed values will be passed to the handler via req.parameters[<parameter name>].
parent
(read-only)
Description The parent endpoint for this endpoint in the endpoint tree
path
string
(read-only)
Description The URI path that routes to this endpoint. This is built during service initialization and will overwrite any value specified on instantiation.
service
(read-only)
Deprecated
Description The root service object managing the endpoint tree. Getting a reference to this object is sometimes necessary or just convenient (i.e., HTTP error classes can be accessed via errors).
validateOutput
boolean
Default true
Description Controls whether or not response bodies are validated using the response schema corresponding to the current response code

Methods

getOperation  
Arguments
  • method (string) – The HTTP method corresponding to the operation to retrieve
Return type Operation
Description Retrieves the operation instance corresponding to the passed HTTP method
getService  
Return type Service
Description Returns the root Service instance (note, this is preferred over accessing the service property itself)
isOperationAuthorized  
Arguments
  • method (string) – The HTTP method corresponding to the operation that we are attempting to authorize
  • user (Object) – The user object
  • req (Request) – The request object
Returns Whether of not the operation is authorized
Return type boolean
Description Tests whether an operation is authorized given a user (as returned by the root authenticator) and any Acl that may apply to this endpoint
operations  
Return type Operation[]
Description Gathers all operations defined on this endpoint
options  
Arguments
  • req (Request) – The request object
  • res (Response) – The response object
Return type undefined
Description Implements the OPTIONS method handler
supportedMethods  
Return type string[]
Description Returns a list of HTTP methods supported by this endpoint