Create an DELETE request to the given uri and opts.
Create an DELETE request to the given uri and opts.
scala> val opts = (header("X-Test" -> "works!") &> auth(Auth.BasicAuth("user", "pass")) &> cookie(Cookie("key", "value")))(Opts.default) opts: hammock.hi.Opts = Opts(Some(BasicAuth(user,pass)),Map(X-Test -> works!),Some(List(Cookie(key,value,None,None,None,None,None,None,None,None)))) scala> Hammock.deleteWithOpts(Uri.unsafeParse("http://httpbin.org/get"), opts) res1: hammock.free.algebra.HttpRequestIO[hammock.HttpResponse] = Free(...)
Create an GET request to the given uri and opts.
Create an GET request to the given uri and opts.
scala> import hammock._, hammock.jvm.free.Interpreter, hammock.hi._, hammock.hi.dsl._, cats._, cats.implicits._, scala.util.Try import hammock._ import hammock.jvm.free.Interpreter import hammock.hi._ import hammock.hi.dsl._ import cats._ import cats.implicits._ import scala.util.Try scala> val opts = (header("X-Test" -> "works!") &> auth(Auth.BasicAuth("user", "pass")) &> cookie(Cookie("key", "value")))(Opts.default) opts: hammock.hi.Opts = Opts(Some(BasicAuth(user,pass)),Map(X-Test -> works!),Some(List(Cookie(key,value,None,None,None,None,None,None,None,None)))) scala> Hammock.getWithOpts(Uri.unsafeParse("http://httpbin.org/get"), opts) res1: hammock.free.algebra.HttpRequestIO[hammock.HttpResponse] = Free(...)
Create an HEAD request to the given uri and opts.
Create an HEAD request to the given uri and opts.
scala> import hammock._, hammock.jvm.free.Interpreter, hammock.hi._, hammock.hi.dsl._, cats._, cats.implicits._, scala.util.Try import hammock._ import hammock.jvm.free.Interpreter import hammock.hi._ import hammock.hi.dsl._ import cats._ import cats.implicits._ import scala.util.Try scala> val opts = (header("X-Test" -> "works!") &> auth(Auth.BasicAuth("user", "pass")) &> cookie(Cookie("key", "value")))(Opts.default) opts: hammock.hi.Opts = Opts(Some(BasicAuth(user,pass)),Map(X-Test -> works!),Some(List(Cookie(key,value,None,None,None,None,None,None,None,None)))) scala> Hammock.headWithOpts(Uri.unsafeParse("http://httpbin.org/get"), opts) res1: hammock.free.algebra.HttpRequestIO[hammock.HttpResponse] = Free(...)
Create an OPTIONS request to the given uri and opts.
Create an OPTIONS request to the given uri and opts.
scala> import hammock._, hammock.jvm.free.Interpreter, hammock.hi._, hammock.hi.dsl._, cats._, cats.implicits._, scala.util.Try import hammock._ import hammock.jvm.free.Interpreter import hammock.hi._ import hammock.hi.dsl._ import cats._ import cats.implicits._ import scala.util.Try scala> val opts = (header("X-Test" -> "works!") &> auth(Auth.BasicAuth("user", "pass")) &> cookie(Cookie("key", "value")))(Opts.default) opts: hammock.hi.Opts = Opts(Some(BasicAuth(user,pass)),Map(X-Test -> works!),Some(List(Cookie(key,value,None,None,None,None,None,None,None,None)))) scala> Hammock.optionsWithOpts(Uri.unsafeParse("http://httpbin.org/get"), opts) res1: hammock.free.algebra.HttpRequestIO[hammock.HttpResponse] = Free(...)
Create an POST request to the given uri and opts.
Create an POST request to the given uri and opts. It also has an optional body parameter that can be used.
scala> import hammock._, hammock.jvm.free.Interpreter, hammock.hi._, hammock.hi.dsl._, cats._, cats.implicits._, scala.util.Try import hammock._ import hammock.jvm.free.Interpreter import hammock.hi._ import hammock.hi.dsl._ import cats._ import cats.implicits._ import scala.util.Try scala> val opts = (header("X-Test" -> "works!") &> auth(Auth.BasicAuth("user", "pass")) &> cookie(Cookie("key", "value")))(Opts.default) opts: hammock.hi.Opts = Opts(Some(BasicAuth(user,pass)),Map(X-Test -> works!),Some(List(Cookie(key,value,None,None,None,None,None,None,None,None)))) scala> implicit val stringCodec = new Codec[String] { | def encode(s: String) = s | def decode(s: String) = Right(s) | } stringCodec: hammock.Codec[String]{def decode(s: String): scala.util.Right[Nothing,String]} = $anon$1@1533f96a scala> Hammock.postWithOpts(Uri.unsafeParse("http://httpbin.org/get"), opts, Some("""{"body": true}""")) res1: hammock.free.algebra.HttpRequestIO[hammock.HttpResponse] = Free(...)
Create an PUT request to the given uri and opts.
Create an PUT request to the given uri and opts. It also has an optional body parameter that can be used.
scala> import hammock._, hammock.jvm.free.Interpreter, hammock.hi._, hammock.hi.dsl._, cats._, cats.implicits._, scala.util.Try import hammock._ import hammock.jvm.free.Interpreter import hammock.hi._ import hammock.hi.dsl._ import cats._ import cats.implicits._ import scala.util.Try scala> val opts = (header("X-Test" -> "works!") &> auth(Auth.BasicAuth("user", "pass")) &> cookie(Cookie("key", "value")))(Opts.default) opts: hammock.hi.Opts = Opts(Some(BasicAuth(user,pass)),Map(X-Test -> works!),Some(List(Cookie(key,value,None,None,None,None,None,None,None,None)))) scala> implicit val stringCodec = new Codec[String] { | def encode(s: String) = s | def decode(s: String) = Right(s) | } stringCodec: hammock.Codec[String]{def decode(s: String): scala.util.Right[Nothing,String]} = $anon$1@1533f96a scala> Hammock.putWithOpts(Uri.unsafeParse("http://httpbin.org/get"), opts, Some("""{"body": true}""")) res1: hammock.free.algebra.HttpRequestIO[hammock.HttpResponse] = Free(...)
Create an hammock.HttpRequestIO as well, but you can pass it a body when it exists an instance for the Codec typeclass for the given type A
Create an hammock.HttpRequestIO[HttpResponse] from the Method, Uri, and String] headers.
Create an TRACE request to the given uri and opts.
Create an TRACE request to the given uri and opts.
scala> val opts = (header("X-Test" -> "works!") &> auth(Auth.BasicAuth("user", "pass")) &> cookie(Cookie("key", "value")))(Opts.default) opts: hammock.hi.Opts = Opts(Some(BasicAuth(user,pass)),Map(X-Test -> works!),Some(List(Cookie(key,value,None,None,None,None,None,None,None,None)))) scala> Hammock.traceWithOpts(Uri.unsafeParse("http://httpbin.org/get"), opts) res1: hammock.free.algebra.HttpRequestIO[hammock.HttpResponse] = Free(...)
Variant of withOpts methods that also takes an optional body of a request.
Variant of withOpts methods that also takes an optional body of a request. There should be a Codec instance for the body type for this to work.
Hammock.withOpts
Creates a HttpRequestIO[HttpResponse] value given a method, uri, and opts.
Creates a HttpRequestIO[HttpResponse] value given a method, uri, and opts.
Usage:
scala> import hammock._, hammock.jvm.free.Interpreter, hammock.hi._, hammock.hi.dsl._, cats._, cats.implicits._, scala.util.Try import hammock._ import hammock.jvm.free.Interpreter import hammock.hi._ import hammock.hi.dsl._ import cats._ import cats.implicits._ import scala.util.Try scala> val opts = (header("X-Test" -> "works!") &> auth(Auth.BasicAuth("user", "pass")) &> cookie(Cookie("key", "value")))(Opts.default) opts: hammock.hi.Opts = Opts(Some(BasicAuth(user,pass)),Map(X-Test -> works!),Some(List(Cookie(key,value,None,None,None,None,None,None,None,None)))) scala> val response = Hammock.withOpts(Method.GET, Uri.unsafeParse("http://httpbin.org/get"), opts) response: hammock.free.algebra.HttpRequestIO[hammock.HttpResponse] = Free(...)