HttpMethodOverrider

class Object
trait Matchable
class Any

Type members

Classlikes

final case class FormOverrideStrategy[F[_], G[_]](fieldName: String, naturalTransformation: FunctionK[G, F]) extends OverrideStrategy[F, G]
final case class HeaderOverrideStrategy[F[_], G[_]](headerName: CIString) extends OverrideStrategy[F, G]
class HttpMethodOverriderConfig[F[_], G[_]](val overrideStrategy: OverrideStrategy[F, G], val overridableMethods: Set[Method])

HttpMethodOverrider middleware config options.

HttpMethodOverrider middleware config options.

Companion
object
sealed trait OverrideStrategy[F[_], G[_]]
final case class QueryOverrideStrategy[F[_], G[_]](paramName: String) extends OverrideStrategy[F, G]

Value members

Concrete methods

def apply[F[_], G[_]](http: Http[F, G], config: HttpMethodOverriderConfig[F, G])(implicit F: Monad[F], S: Concurrent[G]): Http[F, G]

Simple middleware for HTTP Method Override.

Simple middleware for HTTP Method Override.

This middleware lets you use HTTP verbs such as PUT or DELETE in places where the client doesn't support it. Camouflage your request with another HTTP verb(usually POST) and sneak the desired one using a custom header or request parameter. The middleware will '''override''' the original verb with the new one for you, allowing the request the be dispatched properly.

Value Params
config

http method overrider config

http

Http to transform

Concrete fields

val overriddenMethodAttrKey: Key[Method]