com.lightbend.lagom.scaladsl.server
Low level hook for implementing service calls directly in Play.
Low level hook for implementing service calls directly in Play.
This can only be used to hook into plain HTTP calls, it can't be used to hook into WebSocket calls.
A function that takes a service call, and converts it to an EssentialAction. This action can then be composed to modify any part of the request and or response, including request and response headers and the request and response body. This does not have to be invoked at all if it's not desired, but may be useful to get the benefit of all the Lagom features such as serialization and deserialization.
An EssentialAction to handle the call with.
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.
Invoke the service call.
The request entity.
A future of the response entity.
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.
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 service call implementation that allows plugging directly into Play's request handling.