Skip to content

ryanwinchester-forks/blink

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Blink

A pure OCaml HTTP client for Riot, inspired by Elixir's Mint. It serves as a lower-level library for handling HTTP sockets within a single process.

Getting Started

Here's a basic example where we fetch the OCaml.org website.

First we create a connection, which we can reuse:

let url = Uri.of_string "https://ocaml.org" in
let* conn = Blink.connect url in

This figures out the protocol that we will use, and returns a conn value that we make requests with:

let req = Http.Request.make "/" in
let* conn = Blink.request conn req () in

Finally, once we have made a request, we can call Blink.stream to stream-parse the results and receive the parts as they come:

let* _conn, [ `Status status; `Headers headers; `Data body; `Done ] =
  Blink.stream conn
in

When you receive a `Done message you'd have reached the end of the stream.

About

A pure OCaml HTTP client for Riot

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • OCaml 93.0%
  • Elixir 5.3%
  • Go 1.7%