Endpoint

cask.router.Endpoint
trait Endpoint[OuterReturned, InnerReturned, Input] extends Decorator[OuterReturned, InnerReturned, Input]

An HttpEndpoint that may return something else than a HTTP response, e.g. a websocket endpoint which may instead return a websocket event handler

Attributes

Graph
Supertypes
trait Decorator[OuterReturned, InnerReturned, Input]
class Annotation
class Object
trait Matchable
class Any
Known subtypes
class websocket
trait HttpEndpoint[InnerReturned, Input]
trait WebEndpoint
class delete
class get
class options
class patch
class post
class put
class route
class getJson
class postForm
class postJson
class staticFiles
Show all

Members list

Type members

Inherited types

final type Delegate = (Map[String, Input]) => Result[InnerReturned]

Attributes

Inherited from:
Decorator
type InputParser[T] <: ArgReader[Input, T, Request]

Attributes

Inherited from:
Decorator
final type InputTypeAlias = Input

Attributes

Inherited from:
Decorator

Value members

Abstract methods

def wrapPathSegment(s: String): Input

HttpEndpoints are unique among decorators in that they alone can bind path segments to parameters, e.g. binding /hello/:world to (world: Int). In order to do so, we need to box up the path segment strings into an Input so they can later be parsed by getParamParser into an instance of the appropriate type.

HttpEndpoints are unique among decorators in that they alone can bind path segments to parameters, e.g. binding /hello/:world to (world: Int). In order to do so, we need to box up the path segment strings into an Input so they can later be parsed by getParamParser into an instance of the appropriate type.

Attributes

Concrete methods

def convertToResultType[T](t: T)(implicit f: Conversion[T, InnerReturned]): InnerReturned
def subpath: Boolean

Whether or not this endpoint allows matching on sub-paths: does @endpoint("/foo") capture the path "/foo/bar/baz"? Useful to e.g. have an endpoint match URLs with paths in a filesystem (real or virtual) to serve files

Whether or not this endpoint allows matching on sub-paths: does @endpoint("/foo") capture the path "/foo/bar/baz"? Useful to e.g. have an endpoint match URLs with paths in a filesystem (real or virtual) to serve files

Attributes

Inherited methods

def getParamParser[T](implicit p: InputParser[T]): InputParser[T]

Attributes

Inherited from:
Decorator
def wrapFunction(ctx: Request, delegate: Delegate): Result[OuterReturned]

Attributes

Inherited from:
Decorator

Abstract fields

val methods: Seq[String]

Which HTTP methods does this endpoint support? POST? GET? PUT? Or some combination of those?

Which HTTP methods does this endpoint support? POST? GET? PUT? Or some combination of those?

Attributes

val path: String

What is the path that this particular endpoint matches?

What is the path that this particular endpoint matches?

Attributes