in http-server/src/main/scala/com/twitter/finatra/http/RouteDSL.scala [126:579]
def get[RequestType: TypeTag, ResponseType: TypeTag](
route: String,
name: String = "",
admin: Boolean = false,
index: Option[RouteIndex] = None
)(
callback: RequestType => ResponseType
): Unit =
add(Get, route, name, admin, index, callback)
/* For Java compatibility */
protected def get(
route: String,
callback: JavaCallback[Request, Object]
): Unit =
get(route, admin = false, callback)
protected def get(
route: String,
admin: Boolean,
callback: JavaCallback[Request, Object]
): Unit =
get(route, admin, null, callback)
protected def get(
route: String,
admin: Boolean,
index: RouteIndex,
callback: JavaCallback[Request, Object]
): Unit =
get(route, "", admin, index, callback)
protected def get(
route: String,
name: String,
admin: Boolean,
index: RouteIndex,
callback: JavaCallback[Request, Object]
): Unit =
get[Request, Object](
route,
name,
admin,
Option(index)
)(callback.apply)
/* POST/ */
def post[RequestType: TypeTag, ResponseType: TypeTag](
route: String,
name: String = "",
admin: Boolean = false,
index: Option[RouteIndex] = None
)(
callback: RequestType => ResponseType
): Unit =
add(Post, route, name, admin, index, callback)
/* For Java compatibility */
protected def post(
route: String,
callback: JavaCallback[Request, Object]
): Unit =
post(route, admin = false, callback)
protected def post(
route: String,
admin: Boolean,
callback: JavaCallback[Request, Object]
): Unit =
post(route, admin, null, callback)
protected def post(
route: String,
admin: Boolean,
index: RouteIndex,
callback: JavaCallback[Request, Object]
): Unit =
post(route, "", admin, index, callback)
protected def post(
route: String,
name: String,
admin: Boolean,
index: RouteIndex,
callback: JavaCallback[Request, Object]
): Unit =
post[Request, Object](
route,
name,
admin,
Option(index)
)(callback.apply)
/* PUT/ */
def put[RequestType: TypeTag, ResponseType: TypeTag](
route: String,
name: String = "",
admin: Boolean = false,
index: Option[RouteIndex] = None
)(
callback: RequestType => ResponseType
): Unit =
add(Put, route, name, admin, index, callback)
/* For Java compatibility */
protected def put(
route: String,
callback: JavaCallback[Request, Object]
): Unit =
put(route, admin = false, callback)
protected def put(
route: String,
admin: Boolean,
callback: JavaCallback[Request, Object]
): Unit =
put(route, admin, null, callback)
protected def put(
route: String,
admin: Boolean,
index: RouteIndex,
callback: JavaCallback[Request, Object]
): Unit =
put(route, "", admin, index, callback)
protected def put(
route: String,
name: String,
admin: Boolean,
index: RouteIndex,
callback: JavaCallback[Request, Object]
): Unit =
put[Request, Object](
route,
name,
admin,
Option(index)
)(callback.apply)
/* HEAD/ */
def head[RequestType: TypeTag, ResponseType: TypeTag](
route: String,
name: String = "",
admin: Boolean = false,
index: Option[RouteIndex] = None
)(
callback: RequestType => ResponseType
): Unit =
add(Head, route, name, admin, index, callback)
/* For Java compatibility */
protected def head(
route: String,
callback: JavaCallback[Request, Object]
): Unit =
head(route, admin = false, callback)
protected def head(
route: String,
admin: Boolean,
callback: JavaCallback[Request, Object]
): Unit =
head(route, admin, null, callback)
protected def head(
route: String,
admin: Boolean,
index: RouteIndex,
callback: JavaCallback[Request, Object]
): Unit =
head(route, "", admin, index, callback)
protected def head(
route: String,
name: String,
admin: Boolean,
index: RouteIndex,
callback: JavaCallback[Request, Object]
): Unit =
head[Request, Object](
route,
name,
admin,
Option(index)
)(callback.apply)
/* PATCH/ */
def patch[RequestType: TypeTag, ResponseType: TypeTag](
route: String,
name: String = "",
admin: Boolean = false,
index: Option[RouteIndex] = None
)(
callback: RequestType => ResponseType
): Unit =
add(Patch, route, name, admin, index, callback)
/* For Java compatibility */
protected def patch(
route: String,
callback: JavaCallback[Request, Object]
): Unit =
patch(route, admin = false, callback)
protected def patch(
route: String,
admin: Boolean,
callback: JavaCallback[Request, Object]
): Unit =
patch(route, admin, null, callback)
protected def patch(
route: String,
admin: Boolean,
index: RouteIndex,
callback: JavaCallback[Request, Object]
): Unit =
patch(route, "", admin, index, callback)
protected def patch(
route: String,
name: String,
admin: Boolean,
index: RouteIndex,
callback: JavaCallback[Request, Object]
): Unit =
patch[Request, Object](
route,
name,
admin,
Option(index)
)(callback.apply)
/* DELETE/ */
def delete[RequestType: TypeTag, ResponseType: TypeTag](
route: String,
name: String = "",
admin: Boolean = false,
index: Option[RouteIndex] = None
)(
callback: RequestType => ResponseType
): Unit =
add(Delete, route, name, admin, index, callback)
/* For Java compatibility */
protected def delete(
route: String,
callback: JavaCallback[Request, Object]
): Unit =
delete(route, admin = false, callback)
protected def delete(
route: String,
admin: Boolean,
callback: JavaCallback[Request, Object]
): Unit =
delete(route, admin, null, callback)
protected def delete(
route: String,
admin: Boolean,
index: RouteIndex,
callback: JavaCallback[Request, Object]
): Unit =
delete(route, "", admin, index, callback)
protected def delete(
route: String,
name: String,
admin: Boolean,
index: RouteIndex,
callback: JavaCallback[Request, Object]
): Unit =
delete[Request, Object](
route,
name,
admin,
Option(index)
)(callback.apply)
/* TRACE/ */
def trace[RequestType: TypeTag, ResponseType: TypeTag](
route: String,
name: String = "",
admin: Boolean = false,
index: Option[RouteIndex] = None
)(
callback: RequestType => ResponseType
): Unit =
add(Trace, route, name, admin, index, callback)
/* For Java compatibility */
protected def trace(
route: String,
callback: JavaCallback[Request, Object]
): Unit =
trace(route, admin = false, callback)
protected def trace(
route: String,
admin: Boolean,
callback: JavaCallback[Request, Object]
): Unit =
trace(route, admin, null, callback)
protected def trace(
route: String,
admin: Boolean,
index: RouteIndex,
callback: JavaCallback[Request, Object]
): Unit =
trace(route, "", admin, index, callback)
protected def trace(
route: String,
name: String,
admin: Boolean,
index: RouteIndex,
callback: JavaCallback[Request, Object]
): Unit =
trace[Request, Object](
route,
name,
admin,
Option(index)
)(callback.apply)
/* OPTIONS/ */
def options[RequestType: TypeTag, ResponseType: TypeTag](
route: String,
name: String = "",
admin: Boolean = false,
index: Option[RouteIndex] = None
)(
callback: RequestType => ResponseType
): Unit =
add(Options, route, name, admin, index, callback)
/* For Java compatibility */
protected def options(
route: String,
callback: JavaCallback[Request, Object]
): Unit =
options(route, admin = false, callback)
protected def options(
route: String,
admin: Boolean,
callback: JavaCallback[Request, Object]
): Unit =
options(route, admin, null, callback)
protected def options(
route: String,
admin: Boolean,
index: RouteIndex,
callback: JavaCallback[Request, Object]
): Unit =
options(route, "", admin, index, callback)
protected def options(
route: String,
name: String,
admin: Boolean,
index: RouteIndex,
callback: JavaCallback[Request, Object]
): Unit =
options[Request, Object](
route,
name,
admin,
Option(index)
)(callback.apply)
/* ANY/ */
def any[RequestType: TypeTag, ResponseType: TypeTag](
route: String,
name: String = "",
admin: Boolean = false,
index: Option[RouteIndex] = None
)(
callback: RequestType => ResponseType
): Unit =
add(AnyMethod, route, name, admin, index, callback)
/* For Java compatibility */
protected def any(
route: String,
callback: JavaCallback[Request, Object]
): Unit =
any(route, admin = false, callback)
protected def any(
route: String,
admin: Boolean,
callback: JavaCallback[Request, Object]
): Unit =
any(route, admin, null, callback)
protected def any(
route: String,
admin: Boolean,
index: RouteIndex,
callback: JavaCallback[Request, Object]
): Unit =
any(route, "", admin, index, callback)
protected def any(
route: String,
name: String,
admin: Boolean,
index: RouteIndex,
callback: JavaCallback[Request, Object]
): Unit =
any[Request, Object](
route,
name,
admin,
Option(index)
)(callback.apply)
/* Private */
/* A function that wraps another and sets any contexts, if necessary */
private[http] def contextWrapper[T](f: => T): T = f
/* Execute a block with a given RouteContext */
private[http] def withContext[T](ctx: RouteContext)(f: => T): T = {
val orig = contextVar()
contextVar() = ctx
try {
f
} finally {
contextVar() = orig
}
}