package dream

  1. Overview
  2. Docs
Tidy, feature-complete Web framework

Install

Dune Dependency

Authors

Maintainers

Sources

dream-1.0.0-alpha1.tar.gz
sha256=c8d988568fbbeffb151abdb4d6b903fbd3897842d3eb9b2c28fb350f0f02bbd4
md5=b8ad7f3e30f3e88e5451d92e42b49ce4

doc/src/websocketaf/client_handshake.ml.html

Source file client_handshake.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
module IOVec = Httpaf.IOVec

type t =
  { connection : Httpaf.Client_connection.t
  ; body       : [`write] Httpaf.Body.t }

(* TODO(anmonteiro): yet another argument, `~config` *)
let create
    ~nonce
    ~headers
    ~error_handler
    ~response_handler
    target
  =
  let connection = Httpaf.Client_connection.create ?config:None in
  let body =
    Httpaf.Client_connection.request
      connection
      (Handshake.create_request ~nonce ~headers target)
      ~error_handler
      ~response_handler
  in
  { connection
  ; body
  }
;;

let next_read_operation t =
  Httpaf.Client_connection.next_read_operation t.connection

let next_write_operation t =
  Httpaf.Client_connection.next_write_operation t.connection

let read t =
  Httpaf.Client_connection.read t.connection

let yield_reader t =
  Httpaf.Client_connection.yield_reader t.connection

let report_write_result t =
  Httpaf.Client_connection.report_write_result t.connection

let yield_writer t =
  Httpaf.Client_connection.yield_writer t.connection

let report_exn t exn =
  Httpaf.Client_connection.report_exn t.connection exn

let is_closed t =
  Httpaf.Client_connection.is_closed t.connection

let close t =
  Httpaf.Body.close_writer t.body;
  Httpaf.Client_connection.shutdown t.connection
OCaml

Innovation. Community. Security.