com.lightbend.lagom.scaladsl.server
Invoke the service call.
Invoke the service call.
The request entity.
A future of the response entity.
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.
A function that takes in the request header representing the request, and transforms it.
A service call that will use the given handler.
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.
The handler.
A service call that uses the given handler.
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.
A future of the response entity.
Invoke the given action with the request and response headers.
Invoke the given action with the request and response headers.
The request header.
The request message.
A future of the response header and response message.
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((_, _)
.
The a service call that returns the response header and the response message.
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.