Same as apply, but can classify requests effectually, e.g. performing side-effects.
Failed attempt to classify the request (e.g. failing with F.raiseError) leads to not recording metrics for that request.
Attributes
classifierF
a function that allows to add a classifier that can be customized per request
emptyResponseHandler
an optional http status to be registered for requests that do not match
errorResponseHandler
a function that maps a java.lang.Throwable to an optional http status code to register
ops
a algebra describing the metrics operations
Returns:
the metrics middleware
Note:
Compiling the request body in classifierF is unsafe, unless you are using some caching middleware.