trait ServerServiceCall[Request, Response] extends ServiceCall[Request, Response]
A server implementation of a service call.
While the server implementation of the service doesn't have to make use of this type, what this type does is it allows the supply and composition of request and response headers. When working with and or composing server service calls, it is almost never a good idea to call #invoke(Object), rather, Object) should be called. Invocation of the former may result in an UnsupportedOperationException being thrown.
In some cases, where the underlying transport doesn't allow sending a header after the request message has been received (eg WebSockets), the response header may be ignored. In these cases, Lagom will make a best effort attempt at determining whether there was custom information in the response header, and if so, log a warning that it wasn't set.
- Source
- ServerServiceCall.scala
- Alphabetic
- By Inheritance
- ServerServiceCall
- ServiceCall
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
invoke(request: Request): Future[Response]
Invoke the service call.
Invoke the service call.
- request
The request entity.
- returns
A future of the response entity.
- Definition Classes
- ServiceCall
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
+(other: String): String
- Implicit
- This member is added by an implicit conversion from ServerServiceCall[Request, Response] to any2stringadd[ServerServiceCall[Request, Response]] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
-
def
->[B](y: B): (ServerServiceCall[Request, Response], B)
- Implicit
- This member is added by an implicit conversion from ServerServiceCall[Request, Response] to ArrowAssoc[ServerServiceCall[Request, Response]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
ensuring(cond: (ServerServiceCall[Request, Response]) ⇒ Boolean, msg: ⇒ Any): ServerServiceCall[Request, Response]
- Implicit
- This member is added by an implicit conversion from ServerServiceCall[Request, Response] to Ensuring[ServerServiceCall[Request, Response]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: (ServerServiceCall[Request, Response]) ⇒ Boolean): ServerServiceCall[Request, Response]
- Implicit
- This member is added by an implicit conversion from ServerServiceCall[Request, Response] to Ensuring[ServerServiceCall[Request, Response]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean, msg: ⇒ Any): ServerServiceCall[Request, Response]
- Implicit
- This member is added by an implicit conversion from ServerServiceCall[Request, Response] to Ensuring[ServerServiceCall[Request, Response]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean): ServerServiceCall[Request, Response]
- Implicit
- This member is added by an implicit conversion from ServerServiceCall[Request, Response] to Ensuring[ServerServiceCall[Request, Response]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from ServerServiceCall[Request, Response] to StringFormat[ServerServiceCall[Request, Response]] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
handleRequestHeader(handler: (RequestHeader) ⇒ RequestHeader): ServerServiceCall[Request, Response]
Make any modifications necessary to the request header.
Make any modifications necessary to the request header.
For client service calls, this gives clients an opportunity to add custom headers and/or modify the request in some way before it is made. The passed in handler is applied before the header transformers configured for the descriptor/endpoint are applied.
For server implementations of service calls, this will be invoked by the server in order to supply the request header. A new service call can then be returned that uses the header. The header passed in to the handler by the service call can be anything, it will be ignored - RequestHeader#DEFAULT exists for this purpose. Generally, server implementations should not implement this method directly, rather, they should use
ServerServiceCall
, which provides an appropriate implementation.- handler
A function that takes in the request header representing the request, and transforms it.
- returns
A service call that will use the given handler.
- Definition Classes
- ServerServiceCall → ServiceCall
-
def
handleResponseHeader[T](handler: (ResponseHeader, Response) ⇒ T): ServerServiceCall[Request, T]
Transform the response using the given function that takes the response header and the response.
Transform the response using the given function that takes the response header and the response.
For client service calls, this gives clients an opportunity to inspect the response headers and status code. The passed in handler is applied after the header transformers configured for the descriptor/endpoint are applied.
For server implementations of service calls, this will be invoked by the server in order to give the service call an opportunity to supply the response header when it supplies the response, but only if the underlying transport supports sending a response header. Generally, server implementations should not implement this method directly, rather, they should use ServerServiceCall, which provides an appropriate implementation.
- handler
The handler.
- returns
A service call that uses the given handler.
- Definition Classes
- ServerServiceCall → ServiceCall
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
invoke()(implicit evidence: =:=[NotUsed, Request]): Future[Response]
Invoke the service call with unit id argument and a unit request message.
Invoke the service call with unit id argument and a unit request message.
This should only be used when the request message is NotUsed.
- returns
A future of the response entity.
- Definition Classes
- ServiceCall
-
def
invokeWithHeaders(requestHeader: RequestHeader, request: Request): Future[(ResponseHeader, Response)]
Invoke the given action with the request and response headers.
Invoke the given action with the request and response headers.
- requestHeader
The request header.
- request
The request message.
- returns
A future of the response header and response message.
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
withResponseHeader: ServiceCall[Request, (ResponseHeader, Response)]
Allow handling of the response header.
Allow handling of the response header.
This converts the service call to one that returns both the response header and the response message.
This is simply a convenience method for invoking
handleResponseHeader((_, _)
.- returns
The a service call that returns the response header and the response message.
- Definition Classes
- ServiceCall
-
def
→[B](y: B): (ServerServiceCall[Request, Response], B)
- Implicit
- This member is added by an implicit conversion from ServerServiceCall[Request, Response] to ArrowAssoc[ServerServiceCall[Request, Response]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc