package dream

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

Install

dune-project
 Dependency

Authors

Maintainers

Sources

dream-1.0.0-alpha2.tar.gz
sha256=bf19c13f0da7e01cc30b8dfaa1fca1dc8b44a06fb6e0eef56d56513952b9bb01
md5=1220f17530522e488653eb91115867e3

doc/src/dream.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.