trait RestHelper extends DispatchPF
Mix this trait into a class to provide a list of REST helper methods
- Alphabetic
- By Inheritance
- RestHelper
- PartialFunction
- Function1
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- final case class AutoJsonXmlAble(obj: Any) extends Product with Serializable
The class that wraps anything for auto conversion to JSON or XML
The class that wraps anything for auto conversion to JSON or XML
- Attributes
- protected
- trait JsonBody extends AnyRef
a trait that extracts the JSON body from a request It is composed with a TestXXX to get the correct thing for the extractor
a trait that extracts the JSON body from a request It is composed with a TestXXX to get the correct thing for the extractor
- Attributes
- protected
- trait JsonTest extends AnyRef
- Attributes
- protected
- type JxCvtPF[T] = PartialFunction[(JsonXmlSelect, T, Req), LiftResponse]
- Attributes
- protected
- trait TestDelete extends AnyRef
A trait that defines the TestDelete extractor.
A trait that defines the TestDelete extractor. Is the request a DELETE and something that expects JSON or XML in the response. Subclass this trait to change the behavior
- Attributes
- protected
- trait TestGet extends AnyRef
A trait that defines the TestGet extractor.
A trait that defines the TestGet extractor. Is the request a GET and something that expects JSON or XML in the response. Subclass this trait to change the behavior
- Attributes
- protected
- trait TestPatch[T] extends AnyRef
A trait that defines the TestPatch extractor.
A trait that defines the TestPatch extractor. Is the request a PATCH, has JSON or XML data in the post body and something that expects JSON or XML in the response. Subclass this trait to change the behavior
- Attributes
- protected
- trait TestPost[T] extends AnyRef
A trait that defines the TestPost extractor.
A trait that defines the TestPost extractor. Is the request a POST, has JSON or XML data in the post body and something that expects JSON or XML in the response. Subclass this trait to change the behavior
- Attributes
- protected
- trait TestPut[T] extends AnyRef
A trait that defines the TestPut extractor.
A trait that defines the TestPut extractor. Is the request a PUT, has JSON or XML data in the put body and something that expects JSON or XML in the response. Subclass this trait to change the behavior
- Attributes
- protected
- trait TestReq extends AnyRef
A trait that defines the TestReq extractor.
A trait that defines the TestReq extractor. Is the request something that expects JSON, XML in the response. Subclass this trait to change the behavior
- Attributes
- protected
- trait XmlBody extends AnyRef
a trait that extracts the XML body from a request It is composed with a TestXXX to get the correct thing for the extractor
a trait that extracts the XML body from a request It is composed with a TestXXX to get the correct thing for the extractor
- Attributes
- protected
- trait XmlTest extends AnyRef
- Attributes
- protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- lazy val JsonDelete: TestDelete with JsonTest
The stable identifier for JsonDelete.
The stable identifier for JsonDelete. You can use it as an extractor.
- Attributes
- protected
- lazy val JsonGet: TestGet with JsonTest
The stable identifier for JsonGet.
The stable identifier for JsonGet. You can use it as an extractor.
- Attributes
- protected
- lazy val JsonPatch: TestPatch[JValue] with JsonTest with JsonBody
The stable identifier for JsonPatch.
The stable identifier for JsonPatch. You can use it as an extractor.
- Attributes
- protected
- lazy val JsonPost: TestPost[JValue] with JsonTest with JsonBody
The stable identifier for JsonPost.
The stable identifier for JsonPost. You can use it as an extractor.
- Attributes
- protected
- lazy val JsonPut: TestPut[JValue] with JsonTest with JsonBody
The stable identifier for JsonPut.
The stable identifier for JsonPut. You can use it as an extractor.
- Attributes
- protected
- lazy val JsonReq: TestReq with JsonTest
The stable identifier for JsonReq.
The stable identifier for JsonReq. You can use it as an extractor.
- Attributes
- protected
- lazy val XmlDelete: TestDelete with XmlTest
The stable identifier for XmlDelete.
The stable identifier for XmlDelete. You can use it as an extractor.
- Attributes
- protected
- lazy val XmlGet: TestGet with XmlTest
The stable identifier for XmlGet.
The stable identifier for XmlGet. You can use it as an extractor.
- Attributes
- protected
- lazy val XmlPatch: TestPatch[Elem] with XmlTest with XmlBody
The stable identifier for XmlPatch.
The stable identifier for XmlPatch. You can use it as an extractor.
- Attributes
- protected
- lazy val XmlPost: TestPost[Elem] with XmlTest with XmlBody
The stable identifier for XmlPost.
The stable identifier for XmlPost. You can use it as an extractor.
- Attributes
- protected
- lazy val XmlPut: TestPut[Elem] with XmlTest with XmlBody
The stable identifier for XmlPut.
The stable identifier for XmlPut. You can use it as an extractor.
- Attributes
- protected
- lazy val XmlReq: TestReq with XmlTest
The stable identifier for XmlReq.
The stable identifier for XmlReq. You can use it as an extractor.
- Attributes
- protected
- def andThen[C](k: PartialFunction[() => Box[LiftResponse], C]): PartialFunction[Req, C]
- Definition Classes
- PartialFunction
- def andThen[C](k: (() => Box[LiftResponse]) => C): PartialFunction[Req, C]
- Definition Classes
- PartialFunction → Function1
- def anyToJValue(in: Any): Box[JValue]
Take any value and convert it into a JValue.
Take any value and convert it into a JValue. Full box if it works, empty if it does
- Attributes
- protected
- def apply(in: Req): () => Box[LiftResponse]
Apply the Rest helper
Apply the Rest helper
- Definition Classes
- RestHelper → Function1
- def applyOrElse[A1 <: Req, B1 >: () => Box[LiftResponse]](x: A1, default: (A1) => B1): B1
- Definition Classes
- PartialFunction
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- implicit def asyncBoxToResponse[AsyncResolvableType, T](asyncBoxContainer: AsyncResolvableType)(implicit asyncResolveProvider: CanResolveAsync[AsyncResolvableType, Box[T]], responseCreator: (T) => LiftResponse): () => Box[LiftResponse]
If we're returning a future, then automatically turn the request into an Async request
If we're returning a future, then automatically turn the request into an Async request
- T
the type
- returns
Nothing
- Attributes
- protected
- implicit def asyncToResponse[AsyncResolvableType, T](asyncContainer: AsyncResolvableType)(implicit asyncResolveProvider: CanResolveAsync[AsyncResolvableType, T], responseCreator: (T) => LiftResponse): () => Box[LiftResponse]
If we're returning a future, then automatically turn the request into an Async request
If we're returning a future, then automatically turn the request into an Async request
- T
the type
- returns
Nothing
- Attributes
- protected
- def auto(in: Box[Any]): Box[AutoJsonXmlAble]
Wrap a Box of anything for autoconversion to JSON or XML
Wrap a Box of anything for autoconversion to JSON or XML
- Attributes
- protected
- def auto(in: Any): Box[AutoJsonXmlAble]
wrap anything for autoconversion to JSON or XML
wrap anything for autoconversion to JSON or XML
- Attributes
- protected
- implicit def boxFuncToResp[T](in: () => Box[T])(implicit c: (T) => LiftResponse): () => Box[LiftResponse]
Turn a () => Box[T] into the return type expected by DispatchPF.
Turn a () => Box[T] into the return type expected by DispatchPF. Note that this method will return messages from Failure() and return codes and messages from ParamFailure[Int[(msg, _, _, code)
- Attributes
- protected
- implicit def boxToResp[T](in: Box[T])(implicit c: (T) => LiftResponse): () => Box[LiftResponse]
Turn a Box[T] into the return type expected by DispatchPF.
Turn a Box[T] into the return type expected by DispatchPF. Note that this method will return messages from Failure() and return codes and messages from ParamFailure[Int[(msg, _, _, code)
- Attributes
- protected
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def compose[R](k: PartialFunction[R, Req]): PartialFunction[R, () => Box[LiftResponse]]
- Definition Classes
- PartialFunction
- def compose[A](g: (A) => Req): (A) => () => Box[LiftResponse]
- Definition Classes
- Function1
- Annotations
- @unspecialized()
- implicit lazy val convertAutoJsonXmlAble: PartialFunction[(JsonXmlSelect, AutoJsonXmlAble, Req), LiftResponse]
An implicit conversion that converts AutoJsonXmlAble into JSON or XML
An implicit conversion that converts AutoJsonXmlAble into JSON or XML
- Attributes
- protected
- implicit lazy val convertJsonXmlAble: PartialFunction[(JsonXmlSelect, JsonXmlAble, Req), LiftResponse]
The default way to convert a JsonXmlAble into JSON or XML
The default way to convert a JsonXmlAble into JSON or XML
- Attributes
- protected
- def createXmlResponse(in: Node): LiftResponse
Override this method to create an AppXmlResponse with the mime type application/xml rather then text/xml
Override this method to create an AppXmlResponse with the mime type application/xml rather then text/xml
- Attributes
- protected
- def defaultGetAsJson: Boolean
If the headers and the suffix say nothing about the response type, should we default to JSON.
If the headers and the suffix say nothing about the response type, should we default to JSON. By default, yes, override to change the behavior.
- Attributes
- protected
- def defaultGetAsXml: Boolean
If the headers and the suffix say nothing about the response type, should we default to XML.
If the headers and the suffix say nothing about the response type, should we default to XML. By default, no, override to change the behavior.
- Attributes
- protected
- def elementWise: ElementWiseExtractor[Req, () => Box[LiftResponse]]
- Definition Classes
- PartialFunction
- def emptyToResp(eb: EmptyBox): Box[LiftResponse]
- Attributes
- protected
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- implicit def formats: Formats
Return the implicit Formats instance for JSON conversion
Return the implicit Formats instance for JSON conversion
- Attributes
- protected
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def isDefinedAt(in: Req): Boolean
Is the Rest helper defined for a given request
Is the Rest helper defined for a given request
- Definition Classes
- RestHelper → PartialFunction
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- implicit def jsCmdToResp(in: JsCmd): LiftResponse
Convert a JsCmd to a LiftResponse
- implicit def jsExpToResp(in: JsExp): LiftResponse
Convert a JsExp to a LiftResponse
- def jsonResponse_?(in: Req): Boolean
Will the request accept a JSON response? Yes if the Accept header contains "text/json", "application/json" or the Accept header is missing or contains "star/star" and the suffix is "json".
Will the request accept a JSON response? Yes if the Accept header contains "text/json", "application/json" or the Accept header is missing or contains "star/star" and the suffix is "json". Override this method to provide your own logic. If there's no suffix, no accepts (or it's "star/star") then look to either the Content-Type header or the defaultGetAsJson flag
- Attributes
- protected
- implicit def jsonToResp(in: JValue): LiftResponse
Convert a JValue to a LiftResponse
- implicit def jxSel(req: Req): BoxOrRaw[JsonXmlSelect]
A function that chooses JSON or XML based on the request..
A function that chooses JSON or XML based on the request.. Use with serveType
- def lift: (Req) => Option[() => Box[LiftResponse]]
- Definition Classes
- PartialFunction
- implicit def listStringToSuper(in: List[String]): SuperListString
- returns
a SuperString with more available methods such as roboSplit or commafy
- Attributes
- protected
- implicit def listToServeMagic(in: List[String]): ListServeMagic
Allows you to use >> after a path list to handle all the cases where you have a prefix for a series of differ suffixes with the same path prefix.
Allows you to use >> after a path list to handle all the cases where you have a prefix for a series of differ suffixes with the same path prefix. For example:
serve("foo" / "bar" >> { case baz :: Nil Post _ => ... case Nil Get _ => ... })- Attributes
- protected
- def mergeJson(original: JValue, toMerge: JValue): JValue
Take an original piece of JSON (most probably, JObject and replace all the JFields with those in toMerge
Take an original piece of JSON (most probably, JObject and replace all the JFields with those in toMerge
- Attributes
- protected
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- implicit def nodeToResp(in: Node): LiftResponse
Convert a Node to an XmlResponse
Convert a Node to an XmlResponse
- Attributes
- protected
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- implicit def optionFuncToResp[T](in: () => Option[T])(implicit c: (T) => LiftResponse): () => Box[LiftResponse]
Turn an Option[T] into the return type expected by DispatchPF.
Turn an Option[T] into the return type expected by DispatchPF.
- Attributes
- protected
- implicit def optionToResp[T](in: Option[T])(implicit c: (T) => LiftResponse): () => Box[LiftResponse]
Turn an Option[T] into the return type expected by DispatchPF.
Turn an Option[T] into the return type expected by DispatchPF.
- Attributes
- protected
- def orElse[A1 <: Req, B1 >: () => Box[LiftResponse]](that: PartialFunction[A1, B1]): PartialFunction[A1, B1]
- Definition Classes
- PartialFunction
- def runWith[U](action: (() => Box[LiftResponse]) => U): (Req) => Boolean
- Definition Classes
- PartialFunction
- def serve(handler: PartialFunction[Req, () => Box[LiftResponse]]): Unit
Add request handlers
Add request handlers
- Attributes
- protected
- def serveJx[T](pf: PartialFunction[Req, BoxOrRaw[T]])(implicit cvt: JxCvtPF[T]): Unit
Serve a request returning either JSON or XML.
Serve a request returning either JSON or XML.
- pf
-- a Partial Function that converts the request into an intermediate response.
- cvt
-- convert the intermediate response to a LiftResponse based on the request being for XML or JSON. If T is JsonXmlAble, there are built-in converters. Further, you can return auto(thing) and that will invoke built-in converters as well. The built-in converters use Lift JSON's Extraction.decompose to convert the object into JSON and then Xml.toXml() to convert to XML.
- Attributes
- protected
- def serveJxa(pf: PartialFunction[Req, BoxOrRaw[Any]]): Unit
Serve a request returning either JSON or XML.
Serve a request returning either JSON or XML.
- pf
-- a Partial Function that converts the request into Any (note that the response must be convertable into JSON vis Lift JSON Extraction.decompose
- Attributes
- protected
- def serveType[T, SelectType](selection: (Req) => BoxOrRaw[SelectType])(pf: PartialFunction[Req, BoxOrRaw[T]])(implicit cvt: PartialFunction[(SelectType, T, Req), LiftResponse]): Unit
Serve a given request by determining the request type, computing the response and then converting the response to the given type (e.g., JSON or XML).
Serve a given request by determining the request type, computing the response and then converting the response to the given type (e.g., JSON or XML).
- selection
-- a function that determines the response type based on the Req.
- pf
-- a PartialFunction that converts the request to a response type (e.g., a case class that contains the response).
- cvt
-- a function that converts from the response type to a the appropriate LiftResponse based on the selected response type.
- Attributes
- protected
- implicit def stringToSuper(in: String): SuperString
- returns
a SuperString with more available methods such as roboSplit or commafy
- Attributes
- protected
- def suplimentalJsonResponse_?(in: Req): Boolean
If there are additional custom rules (e.g., looking at query parameters) you can override this method which is consulted if the other rules in jsonResponse_? fail
If there are additional custom rules (e.g., looking at query parameters) you can override this method which is consulted if the other rules in jsonResponse_? fail
- Attributes
- protected
- def suplimentalXmlResponse_?(in: Req): Boolean
If there are additional custom rules (e.g., looking at query parameters) you can override this method which is consulted if the other rules in xmlResponse_? fail
If there are additional custom rules (e.g., looking at query parameters) you can override this method which is consulted if the other rules in xmlResponse_? fail
- Attributes
- protected
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- implicit def thingToResp[T](in: T)(implicit c: (T) => LiftResponse): () => Box[LiftResponse]
Turn T into the return type expected by DispatchPF as long as we can convert T to a LiftResponse.
Turn T into the return type expected by DispatchPF as long as we can convert T to a LiftResponse.
- Attributes
- protected
- def toString(): String
- Definition Classes
- Function1 → AnyRef → Any
- def unapply(a: Req): Option[() => Box[LiftResponse]]
- Definition Classes
- PartialFunction
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def xmlResponse_?(in: Req): Boolean
Will the request accept an XML response? Yes if the Accept header contains "application/xml" or "text/xml" or the Accept header is missing or contains "star/star" and the suffix is "xml".
Will the request accept an XML response? Yes if the Accept header contains "application/xml" or "text/xml" or the Accept header is missing or contains "star/star" and the suffix is "xml". Override this method to provide your own logic. If there's no suffix, no accepts (or it's "star/star") then look to either the Content-Type header or the defaultGetAsXml flag.
- Attributes
- protected
- object ->
Extract a Pair using the same syntax that you use to make a Pair
Extract a Pair using the same syntax that you use to make a Pair
- Attributes
- protected
- object Delete
An extractor that tests the request to see if it's a DELETE and if it is, the path and the request are extracted.
An extractor that tests the request to see if it's a DELETE and if it is, the path and the request are extracted. It can be used as:
case "api" :: id :: _ Delete req => ...
or
case Delete("api" :: id :: _, req) => ...case Delete("api" :: id :: _, req) => ...
case "api" :: id :: _ Delete req => ... or
case Delete("api" :: id :: _, req) => ...case Delete("api" :: id :: _, req) => ...
- Attributes
- protected
- object Get
An extractor that tests the request to see if it's a GET and if it is, the path and the request are extracted.
An extractor that tests the request to see if it's a GET and if it is, the path and the request are extracted. It can be used as:
case "api" :: id :: _ Get req => ...
or
case Get("api" :: id :: _, req) => ...
*case Get("api" :: id :: _, req) => ...
case "api" :: id :: _ Get req => ... or
case Get("api" :: id :: _, req) => ...
*case Get("api" :: id :: _, req) => ...
- Attributes
- protected
- object Options
An extractor that tests the request to see if it's an OPTIONS and if it is, the path and the request are extracted.
An extractor that tests the request to see if it's an OPTIONS and if it is, the path and the request are extracted. It can be used as:
case "api" :: id :: _ Options req => ...
or
case Options("api" :: id :: _, req) => ...
*case Options("api" :: id :: _, req) => ...
case "api" :: id :: _ Options req => ... or
case Options("api" :: id :: _, req) => ...
*case Options("api" :: id :: _, req) => ...
- Attributes
- protected
- object Patch
An extractor that tests the request to see if it's a PATCH and if it is, the path and the request are extracted.
An extractor that tests the request to see if it's a PATCH and if it is, the path and the request are extracted. It can be used as:
case "api" :: id :: _ Patch req => ...
or
case Patch("api" :: id :: _, req) => ...case Patch("api" :: id :: _, req) => ...
case "api" :: id :: _ Patch req => ... or
case Patch("api" :: id :: _, req) => ...case Patch("api" :: id :: _, req) => ...
- Attributes
- protected
- object Post
An extractor that tests the request to see if it's a POST and if it is, the path and the request are extracted.
An extractor that tests the request to see if it's a POST and if it is, the path and the request are extracted. It can be used as:
case "api" :: id :: _ Post req => ...
or
case Post("api" :: id :: _, req) => ...case Post("api" :: id :: _, req) => ...
case "api" :: id :: _ Post req => ... or
case Post("api" :: id :: _, req) => ...case Post("api" :: id :: _, req) => ...
- Attributes
- protected
- object Put
An extractor that tests the request to see if it's a PUT and if it is, the path and the request are extracted.
An extractor that tests the request to see if it's a PUT and if it is, the path and the request are extracted. It can be used as:
case "api" :: id :: _ Put req => ...
or
case Put("api" :: id :: _, req) => ...case Put("api" :: id :: _, req) => ...
case "api" :: id :: _ Put req => ... or
case Put("api" :: id :: _, req) => ...case Put("api" :: id :: _, req) => ...
- Attributes
- protected