opam-version: "2.0"
maintainer:   "rudi.grinberg@gmail.com"
authors:      ["Rudi Grinberg"]
license:      "ISC"

homepage:     "https://github.com/rgrinberg/curly"
dev-repo: "git+https://github.com/rgrinberg/curly.git"
bug-reports:  "https://github.com/rgrinberg/curly/issues"

build: [
  ["jbuilder" "subst" "-p" name "--name" name] {pinned}
  ["jbuilder" "build" "-p" name "-j" jobs]
]
run-test: [
  ["jbuilder" "runtest" "-p" name "-j" jobs] {ocaml:version >= "4.04.0"}
]
depends: [
  "ocaml" {>= "4.02.3"}
  "jbuilder" {>= "1.0+beta9"}
  "base-unix"
  "result"
  "cohttp-lwt-unix" {with-test & != "3.0.0"}
  "alcotest" {with-test}
  "lwt" {with-test & < "4.0.0"}
]
synopsis: "The Dumbest Http Client"
description: """
Curly is a brain dead wrapper around the curl command line utility designed to
provide a 0 dependency solution for applications that want to create some very
simple HTTP requests. It is not blazing fast, or async, but at least it involves
no C bindings, it's trivial to vendor, and the API can be learned in 5 minutes.

Here's a simple example:

```ocaml

match Curly.(run (Request.make ~url:"https://opam.ocaml.org" ~meth:`GET ())) with
| Ok x ->
  Format.printf "status: %d\\n" x.Curly.Response.code;
  Format.printf "headers: %a\\n" Curly.Header.pp x.Curly.Response.headers;
  Format.printf "body: %s\\n" x.Curly.Response.body
| Error e ->
  Format.printf "Failed: %a" Curly.Error.pp e
```

There's not much more to it than this. Consult curly.mli to see how to construct
various requests and read responses."""
url {
  src: "https://github.com/rgrinberg/curly/archive/0.1.0.zip"
  checksum: "md5=a9db9c3d8dcc887eea3c1913cfe44461"
}
