package dream
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 54module 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