t

net.liftweb.http.rest

RestHelper

trait RestHelper extends DispatchPF

Mix this trait into a class to provide a list of REST helper methods

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RestHelper
  2. PartialFunction
  3. Function1
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. 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
  2. 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
  3. trait JsonTest extends AnyRef
    Attributes
    protected
  4. type JxCvtPF[T] = PartialFunction[(JsonXmlSelect, T, Req), LiftResponse]
    Attributes
    protected
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. trait XmlTest extends AnyRef
    Attributes
    protected

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. def andThen[C](k: (() ⇒ Box[LiftResponse]) ⇒ C): PartialFunction[Req, C]
    Definition Classes
    PartialFunction → Function1
  15. 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
  16. def apply(in: Req): () ⇒ Box[LiftResponse]

    Apply the Rest helper

    Apply the Rest helper

    Definition Classes
    RestHelper → Function1
  17. def applyOrElse[A1 <: Req, B1 >: () ⇒ Box[LiftResponse]](x: A1, default: (A1) ⇒ B1): B1
    Definition Classes
    PartialFunction
  18. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  19. 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
  20. 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
  21. 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
  22. def auto(in: Any): Box[AutoJsonXmlAble]

    wrap anything for autoconversion to JSON or XML

    wrap anything for autoconversion to JSON or XML

    Attributes
    protected
  23. 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
  24. 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
  25. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. def compose[A](g: (A) ⇒ Req): (A) ⇒ () ⇒ Box[LiftResponse]
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  27. 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
  28. 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
  29. 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
  30. 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
  31. 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
  32. def emptyToResp(eb: EmptyBox): Box[LiftResponse]
    Attributes
    protected
  33. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  34. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  35. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  36. implicit def formats: Formats

    Return the implicit Formats instance for JSON conversion

    Return the implicit Formats instance for JSON conversion

    Attributes
    protected
  37. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  38. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  39. 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
  40. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  41. implicit def jsCmdToResp(in: JsCmd): LiftResponse

    Convert a JsCmd to a LiftResponse

  42. implicit def jsExpToResp(in: JsExp): LiftResponse

    Convert a JsExp to a LiftResponse

  43. 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
  44. implicit def jsonToResp(in: JValue): LiftResponse

    Convert a JValue to a LiftResponse

  45. 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

  46. def lift: (Req) ⇒ Option[() ⇒ Box[LiftResponse]]
    Definition Classes
    PartialFunction
  47. implicit def listStringToSuper(in: List[String]): SuperListString

    returns

    a SuperString with more available methods such as roboSplit or commafy

    Attributes
    protected
  48. 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
  49. 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
  50. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  51. implicit def nodeToResp(in: Node): LiftResponse

    Convert a Node to an XmlResponse

    Convert a Node to an XmlResponse

    Attributes
    protected
  52. final def notify(): Unit
    Definition Classes
    AnyRef
  53. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  54. 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
  55. 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
  56. def orElse[A1 <: Req, B1 >: () ⇒ Box[LiftResponse]](that: PartialFunction[A1, B1]): PartialFunction[A1, B1]
    Definition Classes
    PartialFunction
  57. def runWith[U](action: (() ⇒ Box[LiftResponse]) ⇒ U): (Req) ⇒ Boolean
    Definition Classes
    PartialFunction
  58. def serve(handler: PartialFunction[Req, () ⇒ Box[LiftResponse]]): Unit

    Add request handlers

    Add request handlers

    Attributes
    protected
  59. 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
  60. 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
  61. 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
  62. implicit def stringToSuper(in: String): SuperString

    returns

    a SuperString with more available methods such as roboSplit or commafy

    Attributes
    protected
  63. 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
  64. 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
  65. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  66. 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
  67. def toString(): String
    Definition Classes
    Function1 → AnyRef → Any
  68. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  69. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  70. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  71. 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
  72. 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
  73. 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
  74. 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
  75. 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
  76. 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
  77. 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

Inherited from PartialFunction[Req, () ⇒ Box[LiftResponse]]

Inherited from (Req) ⇒ () ⇒ Box[LiftResponse]

Inherited from AnyRef

Inherited from Any

Ungrouped