File: Nethttp_client.http_call-c.html

package info (click to toggle)
ocamlnet 4.1.9-7
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 54,024 kB
  • sloc: ml: 151,939; ansic: 11,071; sh: 2,003; makefile: 1,310
file content (787 lines) | stat: -rw-r--r-- 44,747 bytes parent folder | download | duplicates (4)
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css">
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="Start" href="index.html">
<link rel="next" href="Nethttp_client.tls_cache-c.html">
<link rel="Up" href="Nethttp_client.html">
<link title="Index of types" rel=Appendix href="index_types.html">
<link title="Index of extensions" rel=Appendix href="index_extensions.html">
<link title="Index of exceptions" rel=Appendix href="index_exceptions.html">
<link title="Index of values" rel=Appendix href="index_values.html">
<link title="Index of class attributes" rel=Appendix href="index_attributes.html">
<link title="Index of class methods" rel=Appendix href="index_methods.html">
<link title="Index of classes" rel=Appendix href="index_classes.html">
<link title="Index of class types" rel=Appendix href="index_class_types.html">
<link title="Index of modules" rel=Appendix href="index_modules.html">
<link title="Index of module types" rel=Appendix href="index_module_types.html">
<link title="Uq_gtk" rel="Chapter" href="Uq_gtk.html">
<link title="Uq_tcl" rel="Chapter" href="Uq_tcl.html">
<link title="Equeue" rel="Chapter" href="Equeue.html">
<link title="Unixqueue" rel="Chapter" href="Unixqueue.html">
<link title="Unixqueue_pollset" rel="Chapter" href="Unixqueue_pollset.html">
<link title="Unixqueue_select" rel="Chapter" href="Unixqueue_select.html">
<link title="Uq_resolver" rel="Chapter" href="Uq_resolver.html">
<link title="Uq_engines" rel="Chapter" href="Uq_engines.html">
<link title="Uq_multiplex" rel="Chapter" href="Uq_multiplex.html">
<link title="Uq_transfer" rel="Chapter" href="Uq_transfer.html">
<link title="Uq_socks5" rel="Chapter" href="Uq_socks5.html">
<link title="Uq_io" rel="Chapter" href="Uq_io.html">
<link title="Uq_lwt" rel="Chapter" href="Uq_lwt.html">
<link title="Uq_libevent" rel="Chapter" href="Uq_libevent.html">
<link title="Uq_mt" rel="Chapter" href="Uq_mt.html">
<link title="Uq_client" rel="Chapter" href="Uq_client.html">
<link title="Uq_server" rel="Chapter" href="Uq_server.html">
<link title="Uq_datagram" rel="Chapter" href="Uq_datagram.html">
<link title="Uq_engines_compat" rel="Chapter" href="Uq_engines_compat.html">
<link title="Equeue_intro" rel="Chapter" href="Equeue_intro.html">
<link title="Equeue_howto" rel="Chapter" href="Equeue_howto.html">
<link title="Netcamlbox" rel="Chapter" href="Netcamlbox.html">
<link title="Netcgi_apache" rel="Chapter" href="Netcgi_apache.html">
<link title="Netcgi_modtpl" rel="Chapter" href="Netcgi_modtpl.html">
<link title="Netcgi_plex" rel="Chapter" href="Netcgi_plex.html">
<link title="Netcgi_common" rel="Chapter" href="Netcgi_common.html">
<link title="Netcgi" rel="Chapter" href="Netcgi.html">
<link title="Netcgi_ajp" rel="Chapter" href="Netcgi_ajp.html">
<link title="Netcgi_scgi" rel="Chapter" href="Netcgi_scgi.html">
<link title="Netcgi_cgi" rel="Chapter" href="Netcgi_cgi.html">
<link title="Netcgi_fcgi" rel="Chapter" href="Netcgi_fcgi.html">
<link title="Netcgi_dbi" rel="Chapter" href="Netcgi_dbi.html">
<link title="Netcgi1_compat" rel="Chapter" href="Netcgi1_compat.html">
<link title="Netcgi_test" rel="Chapter" href="Netcgi_test.html">
<link title="Netcgi_porting" rel="Chapter" href="Netcgi_porting.html">
<link title="Nethttp_client_conncache" rel="Chapter" href="Nethttp_client_conncache.html">
<link title="Nethttp_client" rel="Chapter" href="Nethttp_client.html">
<link title="Nettelnet_client" rel="Chapter" href="Nettelnet_client.html">
<link title="Netftp_data_endpoint" rel="Chapter" href="Netftp_data_endpoint.html">
<link title="Netftp_client" rel="Chapter" href="Netftp_client.html">
<link title="Nethttp_fs" rel="Chapter" href="Nethttp_fs.html">
<link title="Netftp_fs" rel="Chapter" href="Netftp_fs.html">
<link title="Netsmtp" rel="Chapter" href="Netsmtp.html">
<link title="Netpop" rel="Chapter" href="Netpop.html">
<link title="Netldap" rel="Chapter" href="Netldap.html">
<link title="Netclient_tut" rel="Chapter" href="Netclient_tut.html">
<link title="Netgss_bindings" rel="Chapter" href="Netgss_bindings.html">
<link title="Netgss" rel="Chapter" href="Netgss.html">
<link title="Nethttpd_types" rel="Chapter" href="Nethttpd_types.html">
<link title="Nethttpd_kernel" rel="Chapter" href="Nethttpd_kernel.html">
<link title="Nethttpd_reactor" rel="Chapter" href="Nethttpd_reactor.html">
<link title="Nethttpd_engine" rel="Chapter" href="Nethttpd_engine.html">
<link title="Nethttpd_services" rel="Chapter" href="Nethttpd_services.html">
<link title="Nethttpd_plex" rel="Chapter" href="Nethttpd_plex.html">
<link title="Nethttpd_util" rel="Chapter" href="Nethttpd_util.html">
<link title="Nethttpd_intro" rel="Chapter" href="Nethttpd_intro.html">
<link title="Netmcore" rel="Chapter" href="Netmcore.html">
<link title="Netmcore_camlbox" rel="Chapter" href="Netmcore_camlbox.html">
<link title="Netmcore_mempool" rel="Chapter" href="Netmcore_mempool.html">
<link title="Netmcore_heap" rel="Chapter" href="Netmcore_heap.html">
<link title="Netmcore_ref" rel="Chapter" href="Netmcore_ref.html">
<link title="Netmcore_array" rel="Chapter" href="Netmcore_array.html">
<link title="Netmcore_sem" rel="Chapter" href="Netmcore_sem.html">
<link title="Netmcore_mutex" rel="Chapter" href="Netmcore_mutex.html">
<link title="Netmcore_condition" rel="Chapter" href="Netmcore_condition.html">
<link title="Netmcore_queue" rel="Chapter" href="Netmcore_queue.html">
<link title="Netmcore_buffer" rel="Chapter" href="Netmcore_buffer.html">
<link title="Netmcore_matrix" rel="Chapter" href="Netmcore_matrix.html">
<link title="Netmcore_hashtbl" rel="Chapter" href="Netmcore_hashtbl.html">
<link title="Netmcore_process" rel="Chapter" href="Netmcore_process.html">
<link title="Netmcore_tut" rel="Chapter" href="Netmcore_tut.html">
<link title="Netmcore_basics" rel="Chapter" href="Netmcore_basics.html">
<link title="Netplex_types" rel="Chapter" href="Netplex_types.html">
<link title="Netplex_mp" rel="Chapter" href="Netplex_mp.html">
<link title="Netplex_mt" rel="Chapter" href="Netplex_mt.html">
<link title="Netplex_log" rel="Chapter" href="Netplex_log.html">
<link title="Netplex_controller" rel="Chapter" href="Netplex_controller.html">
<link title="Netplex_container" rel="Chapter" href="Netplex_container.html">
<link title="Netplex_sockserv" rel="Chapter" href="Netplex_sockserv.html">
<link title="Netplex_workload" rel="Chapter" href="Netplex_workload.html">
<link title="Netplex_main" rel="Chapter" href="Netplex_main.html">
<link title="Netplex_config" rel="Chapter" href="Netplex_config.html">
<link title="Netplex_kit" rel="Chapter" href="Netplex_kit.html">
<link title="Rpc_netplex" rel="Chapter" href="Rpc_netplex.html">
<link title="Netplex_cenv" rel="Chapter" href="Netplex_cenv.html">
<link title="Netplex_semaphore" rel="Chapter" href="Netplex_semaphore.html">
<link title="Netplex_sharedvar" rel="Chapter" href="Netplex_sharedvar.html">
<link title="Netplex_mutex" rel="Chapter" href="Netplex_mutex.html">
<link title="Netplex_encap" rel="Chapter" href="Netplex_encap.html">
<link title="Netplex_mbox" rel="Chapter" href="Netplex_mbox.html">
<link title="Netplex_internal" rel="Chapter" href="Netplex_internal.html">
<link title="Netplex_intro" rel="Chapter" href="Netplex_intro.html">
<link title="Netplex_advanced" rel="Chapter" href="Netplex_advanced.html">
<link title="Netplex_admin" rel="Chapter" href="Netplex_admin.html">
<link title="Netshm" rel="Chapter" href="Netshm.html">
<link title="Netshm_data" rel="Chapter" href="Netshm_data.html">
<link title="Netshm_hashtbl" rel="Chapter" href="Netshm_hashtbl.html">
<link title="Netshm_array" rel="Chapter" href="Netshm_array.html">
<link title="Netshm_intro" rel="Chapter" href="Netshm_intro.html">
<link title="Netstring_pcre" rel="Chapter" href="Netstring_pcre.html">
<link title="Netconversion" rel="Chapter" href="Netconversion.html">
<link title="Netchannels" rel="Chapter" href="Netchannels.html">
<link title="Netstream" rel="Chapter" href="Netstream.html">
<link title="Netmime_string" rel="Chapter" href="Netmime_string.html">
<link title="Netmime" rel="Chapter" href="Netmime.html">
<link title="Netsendmail" rel="Chapter" href="Netsendmail.html">
<link title="Neturl" rel="Chapter" href="Neturl.html">
<link title="Netaddress" rel="Chapter" href="Netaddress.html">
<link title="Netbuffer" rel="Chapter" href="Netbuffer.html">
<link title="Netmime_header" rel="Chapter" href="Netmime_header.html">
<link title="Netmime_channels" rel="Chapter" href="Netmime_channels.html">
<link title="Neturl_ldap" rel="Chapter" href="Neturl_ldap.html">
<link title="Netdate" rel="Chapter" href="Netdate.html">
<link title="Netencoding" rel="Chapter" href="Netencoding.html">
<link title="Netulex" rel="Chapter" href="Netulex.html">
<link title="Netaccel" rel="Chapter" href="Netaccel.html">
<link title="Netaccel_link" rel="Chapter" href="Netaccel_link.html">
<link title="Nethtml" rel="Chapter" href="Nethtml.html">
<link title="Netstring_str" rel="Chapter" href="Netstring_str.html">
<link title="Netmappings" rel="Chapter" href="Netmappings.html">
<link title="Netaux" rel="Chapter" href="Netaux.html">
<link title="Nethttp" rel="Chapter" href="Nethttp.html">
<link title="Netpagebuffer" rel="Chapter" href="Netpagebuffer.html">
<link title="Netfs" rel="Chapter" href="Netfs.html">
<link title="Netglob" rel="Chapter" href="Netglob.html">
<link title="Netauth" rel="Chapter" href="Netauth.html">
<link title="Netsockaddr" rel="Chapter" href="Netsockaddr.html">
<link title="Netnumber" rel="Chapter" href="Netnumber.html">
<link title="Netxdr_mstring" rel="Chapter" href="Netxdr_mstring.html">
<link title="Netxdr" rel="Chapter" href="Netxdr.html">
<link title="Netcompression" rel="Chapter" href="Netcompression.html">
<link title="Netunichar" rel="Chapter" href="Netunichar.html">
<link title="Netasn1" rel="Chapter" href="Netasn1.html">
<link title="Netasn1_encode" rel="Chapter" href="Netasn1_encode.html">
<link title="Netoid" rel="Chapter" href="Netoid.html">
<link title="Netstring_tstring" rel="Chapter" href="Netstring_tstring.html">
<link title="Netdn" rel="Chapter" href="Netdn.html">
<link title="Netx509" rel="Chapter" href="Netx509.html">
<link title="Netascii_armor" rel="Chapter" href="Netascii_armor.html">
<link title="Nettls_support" rel="Chapter" href="Nettls_support.html">
<link title="Netmech_scram" rel="Chapter" href="Netmech_scram.html">
<link title="Netmech_scram_gssapi" rel="Chapter" href="Netmech_scram_gssapi.html">
<link title="Netmech_scram_sasl" rel="Chapter" href="Netmech_scram_sasl.html">
<link title="Netmech_scram_http" rel="Chapter" href="Netmech_scram_http.html">
<link title="Netgssapi_support" rel="Chapter" href="Netgssapi_support.html">
<link title="Netgssapi_auth" rel="Chapter" href="Netgssapi_auth.html">
<link title="Netchannels_crypto" rel="Chapter" href="Netchannels_crypto.html">
<link title="Netx509_pubkey" rel="Chapter" href="Netx509_pubkey.html">
<link title="Netx509_pubkey_crypto" rel="Chapter" href="Netx509_pubkey_crypto.html">
<link title="Netsaslprep" rel="Chapter" href="Netsaslprep.html">
<link title="Netmech_plain_sasl" rel="Chapter" href="Netmech_plain_sasl.html">
<link title="Netmech_crammd5_sasl" rel="Chapter" href="Netmech_crammd5_sasl.html">
<link title="Netmech_digest_sasl" rel="Chapter" href="Netmech_digest_sasl.html">
<link title="Netmech_digest_http" rel="Chapter" href="Netmech_digest_http.html">
<link title="Netmech_krb5_sasl" rel="Chapter" href="Netmech_krb5_sasl.html">
<link title="Netmech_gs2_sasl" rel="Chapter" href="Netmech_gs2_sasl.html">
<link title="Netmech_spnego_http" rel="Chapter" href="Netmech_spnego_http.html">
<link title="Netchannels_tut" rel="Chapter" href="Netchannels_tut.html">
<link title="Netmime_tut" rel="Chapter" href="Netmime_tut.html">
<link title="Netsendmail_tut" rel="Chapter" href="Netsendmail_tut.html">
<link title="Netulex_tut" rel="Chapter" href="Netulex_tut.html">
<link title="Neturl_tut" rel="Chapter" href="Neturl_tut.html">
<link title="Netsys" rel="Chapter" href="Netsys.html">
<link title="Netsys_posix" rel="Chapter" href="Netsys_posix.html">
<link title="Netsys_pollset" rel="Chapter" href="Netsys_pollset.html">
<link title="Netlog" rel="Chapter" href="Netlog.html">
<link title="Netexn" rel="Chapter" href="Netexn.html">
<link title="Netsys_win32" rel="Chapter" href="Netsys_win32.html">
<link title="Netsys_pollset_posix" rel="Chapter" href="Netsys_pollset_posix.html">
<link title="Netsys_pollset_win32" rel="Chapter" href="Netsys_pollset_win32.html">
<link title="Netsys_pollset_generic" rel="Chapter" href="Netsys_pollset_generic.html">
<link title="Netsys_signal" rel="Chapter" href="Netsys_signal.html">
<link title="Netsys_oothr" rel="Chapter" href="Netsys_oothr.html">
<link title="Netsys_xdr" rel="Chapter" href="Netsys_xdr.html">
<link title="Netsys_rng" rel="Chapter" href="Netsys_rng.html">
<link title="Netsys_crypto_types" rel="Chapter" href="Netsys_crypto_types.html">
<link title="Netsys_types" rel="Chapter" href="Netsys_types.html">
<link title="Netsys_mem" rel="Chapter" href="Netsys_mem.html">
<link title="Netsys_tmp" rel="Chapter" href="Netsys_tmp.html">
<link title="Netsys_sem" rel="Chapter" href="Netsys_sem.html">
<link title="Netsys_pmanage" rel="Chapter" href="Netsys_pmanage.html">
<link title="Netsys_crypto" rel="Chapter" href="Netsys_crypto.html">
<link title="Netsys_tls" rel="Chapter" href="Netsys_tls.html">
<link title="Netsys_ciphers" rel="Chapter" href="Netsys_ciphers.html">
<link title="Netsys_digests" rel="Chapter" href="Netsys_digests.html">
<link title="Netsys_crypto_modes" rel="Chapter" href="Netsys_crypto_modes.html">
<link title="Netsys_gssapi" rel="Chapter" href="Netsys_gssapi.html">
<link title="Netsys_sasl_types" rel="Chapter" href="Netsys_sasl_types.html">
<link title="Netsys_sasl" rel="Chapter" href="Netsys_sasl.html">
<link title="Netsys_polypipe" rel="Chapter" href="Netsys_polypipe.html">
<link title="Netsys_polysocket" rel="Chapter" href="Netsys_polysocket.html">
<link title="Netsys_global" rel="Chapter" href="Netsys_global.html">
<link title="Nettls_gnutls_bindings" rel="Chapter" href="Nettls_gnutls_bindings.html">
<link title="Nettls_nettle_bindings" rel="Chapter" href="Nettls_nettle_bindings.html">
<link title="Nettls_gnutls" rel="Chapter" href="Nettls_gnutls.html">
<link title="Netunidata" rel="Chapter" href="Netunidata.html">
<link title="Netgzip" rel="Chapter" href="Netgzip.html">
<link title="Rpc_auth_local" rel="Chapter" href="Rpc_auth_local.html">
<link title="Rpc_xti_client" rel="Chapter" href="Rpc_xti_client.html">
<link title="Rpc" rel="Chapter" href="Rpc.html">
<link title="Rpc_program" rel="Chapter" href="Rpc_program.html">
<link title="Rpc_util" rel="Chapter" href="Rpc_util.html">
<link title="Rpc_portmapper_aux" rel="Chapter" href="Rpc_portmapper_aux.html">
<link title="Rpc_packer" rel="Chapter" href="Rpc_packer.html">
<link title="Rpc_transport" rel="Chapter" href="Rpc_transport.html">
<link title="Rpc_client" rel="Chapter" href="Rpc_client.html">
<link title="Rpc_simple_client" rel="Chapter" href="Rpc_simple_client.html">
<link title="Rpc_portmapper_clnt" rel="Chapter" href="Rpc_portmapper_clnt.html">
<link title="Rpc_portmapper" rel="Chapter" href="Rpc_portmapper.html">
<link title="Rpc_server" rel="Chapter" href="Rpc_server.html">
<link title="Rpc_auth_sys" rel="Chapter" href="Rpc_auth_sys.html">
<link title="Rpc_auth_gssapi" rel="Chapter" href="Rpc_auth_gssapi.html">
<link title="Rpc_proxy" rel="Chapter" href="Rpc_proxy.html">
<link title="Rpc_intro" rel="Chapter" href="Rpc_intro.html">
<link title="Rpc_mapping_ref" rel="Chapter" href="Rpc_mapping_ref.html">
<link title="Rpc_intro_gss" rel="Chapter" href="Rpc_intro_gss.html">
<link title="Shell_sys" rel="Chapter" href="Shell_sys.html">
<link title="Shell" rel="Chapter" href="Shell.html">
<link title="Shell_uq" rel="Chapter" href="Shell_uq.html">
<link title="Shell_fs" rel="Chapter" href="Shell_fs.html">
<link title="Shell_intro" rel="Chapter" href="Shell_intro.html">
<link title="Intro" rel="Chapter" href="Intro.html">
<link title="Platform" rel="Chapter" href="Platform.html">
<link title="Foreword" rel="Chapter" href="Foreword.html">
<link title="Ipv6" rel="Chapter" href="Ipv6.html">
<link title="Regexp" rel="Chapter" href="Regexp.html">
<link title="Tls" rel="Chapter" href="Tls.html">
<link title="Crypto" rel="Chapter" href="Crypto.html">
<link title="Authentication" rel="Chapter" href="Authentication.html">
<link title="Credentials" rel="Chapter" href="Credentials.html">
<link title="Gssapi" rel="Chapter" href="Gssapi.html">
<link title="Ocamlnet4" rel="Chapter" href="Ocamlnet4.html">
<link title="Get" rel="Chapter" href="Get.html"><link title="Call State" rel="Section" href="#2_CallState">
<link title="Security" rel="Section" href="#2_Security">
<link title="Accessing the request message (new style) " rel="Section" href="#2_Accessingtherequestmessagenewstyle">
<link title="Accessing the response message (new style) " rel="Section" href="#2_Accessingtheresponsemessagenewstyle">
<link title="Options" rel="Section" href="#2_Options">
<link title="Method characteristics" rel="Section" href="#2_Methodcharacteristics">
<link title="Transport layer bindings" rel="Section" href="#2_Transportlayerbindings">
<link title="Repeating calls" rel="Section" href="#2_Repeatingcalls">
<link title="Old style access methods" rel="Section" href="#2_Oldstyleaccessmethods">
<link title="Private" rel="Section" href="#2_Private">
<title>Ocamlnet 4 Reference Manual : Nethttp_client.http_call</title>
</head>
<body>
<div class="navbar">&nbsp;<a class="up" href="Nethttp_client.html" title="Nethttp_client">Up</a>
&nbsp;<a class="post" href="Nethttp_client.tls_cache-c.html" title="Nethttp_client.tls_cache">Next</a>
</div>
<h1>Class type <a href="type_Nethttp_client.http_call.html">Nethttp_client.http_call</a></h1>

<pre><span id="TYPEhttp_call"><span class="keyword">class type</span> http_call</span> = <code class="code">object</code> <a href="Nethttp_client.http_call-c.html">..</a> <code class="code">end</code></pre><div class="info classtype top">
<div class="info-desc">
<p>The container for HTTP calls</p>
</div>
</div>
<hr width="100%">
<p><code class="code">http_call</code> is the runtime container for HTTP method calls. It contains
 the request message, the response message, and the current transmission
 status.</p>

<p>In previous versions of netclient, this class type was called 
 <code class="code">message</code>. This was quite inexact because this class embraces both
 messages that are part of a call.</p>

<p><b>Incompatible changes</b>:</p>
<ul>
<li><code class="code">using_proxy</code> has been removed. This simply isn't a property of
   an individual call.</li>
<li><code class="code">get_req_uri</code> has been removed from the public interface for similar
   reasons.</li>
<li>The request and response messages are now primarily stored as
   <code class="code">Netmime.mime_header</code> and <code class="code">Netmime.mime_body</code> objects. The old
   style access methods remain in the API for now. The advantage is
   that it is possible to use external files as body containers.</li>
<li>There are two request headers, <code class="code">`Base</code> and <code class="code">`Effective</code>.</li>
</ul>
<h3 id="2_CallState">Call State</h3>
<pre><span id="METHODis_served"><span class="keyword">method</span> is_served</span> : <code class="type">bool</code></pre><div class="info ">
<div class="info-desc">
<p><code class="code">true</code> if request/response cycle(s) have been finished, i.e. the
 call was successful, or a final error state has been reached.</p>
</div>
</div>

<pre><span id="METHODstatus"><span class="keyword">method</span> status</span> : <code class="type"><a href="Nethttp_client.html#TYPEstatus">status</a></code></pre><div class="info ">
<div class="info-desc">
<p>The condensed status</p>
</div>
</div>

<pre><span id="METHODauth_status"><span class="keyword">method</span> auth_status</span> : <code class="type">unit <a href="Nethttp_client.html#TYPEauth_status">auth_status</a></code></pre><div class="info ">
<div class="info-desc">
<p>Authenticaton status. <b>This status code is important for mutual
        authentication (i.e. when the client also authenticates the server),
        which can be enabled for some generic authentication handlers.
        In this case <code class="code">status</code> and all the other methods just report about the
        last message from the server. They will not indicate whether the
        authentication
        failed on the side of the client (in particular, no exception is
        thrown). It is required to check that <code class="code">auth_status=`OK</code>.</b></p>

<p>An example of a mechanism with mutual authentication is
        <a href="Netmech_digest_http.Digest_mutual.html"><code class="code">Netmech_digest_http.Digest_mutual</code></a>.</p>
</div>
</div>
<h3 id="2_Security">Security</h3>
<pre><span id="METHODtls_session_props"><span class="keyword">method</span> tls_session_props</span> : <code class="type"><a href="Nettls_support.tls_session_props-c.html">Nettls_support.tls_session_props</a> option</code></pre><div class="info ">
<div class="info-desc">
<p>If TLS is enabled, this returns the session properties</p>
</div>
</div>

<pre><span id="METHODgssapi_props"><span class="keyword">method</span> gssapi_props</span> : <code class="type"><a href="Netsys_gssapi.client_props-c.html">Netsys_gssapi.client_props</a> option</code></pre><div class="info ">
<div class="info-desc">
<p>If GSSAPI is active, return the properties</p>
</div>
</div>
<h3 id="2_Accessingtherequestmessagenewstyle">Accessing the request message (new style) </h3>
<pre><span id="METHODrequest_method"><span class="keyword">method</span> request_method</span> : <code class="type">string</code></pre><div class="info ">
<div class="info-desc">
<p>The HTTP method as string</p>
</div>
</div>

<pre><span id="METHODrequest_uri"><span class="keyword">method</span> request_uri</span> : <code class="type">string</code></pre><div class="info ">
<div class="info-desc">
<p>The request URI as string. This is always an absolute URI in the
 form "http://server/path" or "https://server/path".</p>
</div>
</div>

<pre><span id="METHODset_request_uri"><span class="keyword">method</span> set_request_uri</span> : <code class="type">string -> unit</code></pre><div class="info ">
<div class="info-desc">
<p>Sets the request URI. This implicitly also sets the transport layer
	ID (see below).</p>

<p><b>Changed in Ocamlnet-3.3:</b> The URI is no longer immediately parsed,
	but first when the call is submitted to a pipeline. This means that
	parsing errors will first be reported by the <code class="code">add</code> method. The
	background is that parsing now depends on pipeline options.</p>
</div>
</div>

<pre><span id="METHODrequest_header"><span class="keyword">method</span> request_header</span> : <code class="type"><a href="Nethttp_client.html#TYPEheader_kind">header_kind</a> -> <a href="Netmime.mime_header-c.html">Netmime.mime_header</a></code></pre><div class="info ">
<div class="info-desc">
<p>The whole header of the request. Users of this class should only
 modify the <code class="code">`Base</code> header. After the call has been processed,
 the <code class="code">`Effective</code> header contains the version of the header that has
 actually been transmitted.</p>

<p>The user should set the following headers:</p>
<ul>
<li><code class="code">Content-length</code>: Set this to the length of the request body
   if known. (The client falls back to HTTP 1.0 if not set!)</li>
<li><code class="code">Content-type</code>: Set this to the media type of the request body</li>
<li><code class="code">Expect</code>: Set this to "100-continue" to enable a handshake before
   the body is sent. Recommended for large bodies. (See also
   <code class="code">set_expect_handshake</code> below.)</li>
</ul>
<p>The following headers may be set, but there are reasonable defaults:</p>
<ul>
<li><code class="code">Date</code></li>
<li><code class="code">User-agent</code></li>
</ul>
<p>The following headers must not be set:</p>
<ul>
<li><code class="code">Connection</code></li>
</ul>
</div>
</div>

<pre><span id="METHODset_request_header"><span class="keyword">method</span> set_request_header</span> : <code class="type"><a href="Netmime.mime_header-c.html">Netmime.mime_header</a> -> unit</code></pre><div class="info ">
<div class="info-desc">
<p>Replaces the whole <code class="code">`Base</code> header object</p>
</div>
</div>

<pre><span id="METHODset_expect_handshake"><span class="keyword">method</span> set_expect_handshake</span> : <code class="type">unit -> unit</code></pre><div class="info ">
<div class="info-desc">
<p>Configures that a handshake is done before sending the request body.
	This is useful when the request body can be large, and
	authentication or response indirections are possible.
	<b>New since Ocamlnet-3.3.</b></p>
</div>
</div>

<pre><span id="METHODset_chunked_request"><span class="keyword">method</span> set_chunked_request</span> : <code class="type">unit -> unit</code></pre><div class="info ">
<div class="info-desc">
<p>Configures that the request is transmitted using chunked encoding.
	This has advantages when the size of the request is not known
	in advance. However, this works only for true HTTP/1.1 servers.
	<b>New since Ocamlnet-3.3.</b></p>
</div>
</div>

<pre><span id="METHODeffective_request_uri"><span class="keyword">method</span> effective_request_uri</span> : <code class="type">string</code></pre><div class="info ">
<div class="info-desc">
<p>The URI actually sent to the server in the request line of the
 protocol.</p>
</div>
</div>

<pre><span id="METHODrequest_body"><span class="keyword">method</span> request_body</span> : <code class="type"><a href="Netmime.mime_body-c.html">Netmime.mime_body</a></code></pre><div class="info ">
<div class="info-desc">
<p>The whole body of the request. This method fails after
	<code class="code">set_request_device</code> has been called (no body then).</p>
</div>
</div>

<pre><span id="METHODset_request_body"><span class="keyword">method</span> set_request_body</span> : <code class="type"><a href="Netmime.mime_body-c.html">Netmime.mime_body</a> -> unit</code></pre><div class="info ">
<div class="info-desc">
<p>Replaces the whole body object</p>
</div>
</div>

<pre><span id="METHODset_request_device"><span class="keyword">method</span> set_request_device</span> : <code class="type">(unit -> <a href="Uq_io.html#TYPEin_device">Uq_io.in_device</a>) -> unit</code></pre><div class="info ">
<div class="info-desc">
<p>Sets that the request data is read from the passed device instead
	of taking it from a body object.  The device must be connected with
	the same event loop as the HTTP client.</p>
</div>
</div>

<pre><span id="METHODset_accept_encoding"><span class="keyword">method</span> set_accept_encoding</span> : <code class="type">unit -> unit</code></pre><div class="info ">
<div class="info-desc">
<p>Sets the <code class="code">Accept-Encoding</code> field in the request header, and 
	includes all decompression algorithms registered in
	<a href="Netcompression.html"><code class="code">Netcompression</code></a>. Additionally, the automatic decompression of
	the response body is enabled.</p>

<p>Note that you need to ensure that the algorithms are really
	registered at <a href="Netcompression.html"><code class="code">Netcompression</code></a>. For example, to get <code class="code">gzip</code>
	support, run</p>
<pre class="codepre"><code class="code"> Netgzip.init() </code></pre><p>, and include <code class="code">netzip</code> as
	library.</p>
</div>
</div>
<h3 id="2_Accessingtheresponsemessagenewstyle">Accessing the response message (new style) </h3>
<p>These methods will fail if the call has not yet been served! 
 If the call has been finished, but a hard error (e.g. socket error)
 occurred, the
 exception <code class="code">Http_protocol</code> is raised. When the server only
 sent an error code, no exception is raised - but the user can
 manually test for such codes (e.g. with <code class="code">repsonse_status</code> or
 <code class="code">status</code>).</p>

<pre><span id="METHODresponse_status_code"><span class="keyword">method</span> response_status_code</span> : <code class="type">int</code></pre><div class="info ">
<div class="info-desc">
<p>The three-digit status code</p>
</div>
</div>

<pre><span id="METHODresponse_status_text"><span class="keyword">method</span> response_status_text</span> : <code class="type">string</code></pre><div class="info ">
<div class="info-desc">
<p>The text transmitted along with the code</p>
</div>
</div>

<pre><span id="METHODresponse_status"><span class="keyword">method</span> response_status</span> : <code class="type"><a href="Nethttp.html#TYPEhttp_status">Nethttp.http_status</a></code></pre><div class="info ">
<div class="info-desc">
<p>The decoded code. Unknown codes are mapped to the generic status
 values <code class="code">`Ok</code>, <code class="code">`Multiple_choices</code>, <code class="code">`Bad_request</code>, and 
 <code class="code">`Internal_server_error</code>.</p>
</div>
</div>

<pre><span id="METHODresponse_protocol"><span class="keyword">method</span> response_protocol</span> : <code class="type">string</code></pre><div class="info ">
<div class="info-desc">
<p>The HTTP version indicated in the response</p>
</div>
</div>

<pre><span id="METHODresponse_header"><span class="keyword">method</span> response_header</span> : <code class="type"><a href="Netmime.mime_header-c.html">Netmime.mime_header</a></code></pre><div class="info ">
<div class="info-desc">
<p>The whole header of the response. If the call has not succeeded, 
 <code class="code">Http_protocol</code> will be raised.</p>
</div>
</div>

<pre><span id="METHODresponse_body"><span class="keyword">method</span> response_body</span> : <code class="type"><a href="Netmime.mime_body-c.html">Netmime.mime_body</a></code></pre><div class="info ">
<div class="info-desc">
<p>The whole body of the response. If the call has not succeeded, 
 <code class="code">Http_protocol</code> will be raised. If the call has succeeded, 
 but no body has been transmitted, the empty body is substituted.</p>

<p>If the response is directly forwarded to a device (after
 calling <code class="code">set_response_body_storage (`Device d)</code>), there is
 no accessible response body, and this method will fail.</p>
</div>
</div>
<h3 id="2_Options">Options</h3>
<pre><span id="METHODresponse_body_storage"><span class="keyword">method</span> response_body_storage</span> : <code class="type"><a href="Nethttp_client.html#TYPEresponse_body_storage">response_body_storage</a></code></pre><div class="info ">
<div class="info-desc">
<p>How to create the response body. Defaults to <code class="code">`Memory</code>.</p>
</div>
</div>

<pre><span id="METHODset_response_body_storage"><span class="keyword">method</span> set_response_body_storage</span> : <code class="type"><a href="Nethttp_client.html#TYPEresponse_body_storage">response_body_storage</a> -> unit</code></pre><div class="info ">
<div class="info-desc">
<p>Sets how to create the response body</p>
</div>
</div>

<pre><span id="METHODmax_response_body_length"><span class="keyword">method</span> max_response_body_length</span> : <code class="type">int64</code></pre><div class="info ">
<div class="info-desc">
<p>Returns the current maximum length (initially <code class="code">Int64.max_int</code>)</p>
</div>
</div>

<pre><span id="METHODset_max_response_body_length"><span class="keyword">method</span> set_max_response_body_length</span> : <code class="type">int64 -> unit</code></pre><div class="info ">
<div class="info-desc">
<p>Sets a new maximum length. When the body exceeds this maximum
	by more than the size of the internal buffer, the reception of
	the response is interrupted, and the error is set to
	<code class="code">Response_too_large</code>.</p>
</div>
</div>

<pre><span id="METHODget_reconnect_mode"><span class="keyword">method</span> get_reconnect_mode</span> : <code class="type"><a href="Nethttp_client.http_call-c.html">http_call</a> <a href="Nethttp_client.html#TYPEhow_to_reconnect">how_to_reconnect</a></code></pre><div class="info ">
<div class="info-desc">
<p>Get what to do if the server needs to be reconnected, i.e.
 if the request must be sent repeatedly.
 By default, this is <code class="code">Send_again_if_idem</code>.</p>
</div>
</div>

<pre><span id="METHODset_reconnect_mode"><span class="keyword">method</span> set_reconnect_mode</span> : <code class="type"><a href="Nethttp_client.http_call-c.html">http_call</a> <a href="Nethttp_client.html#TYPEhow_to_reconnect">how_to_reconnect</a> -> unit</code></pre><div class="info ">
<div class="info-desc">
<p>Sets the reconnect mode</p>
</div>
</div>

<pre><span id="METHODget_redirect_mode"><span class="keyword">method</span> get_redirect_mode</span> : <code class="type"><a href="Nethttp_client.http_call-c.html">http_call</a> <a href="Nethttp_client.html#TYPEhow_to_redirect">how_to_redirect</a></code></pre><div class="info ">
<div class="info-desc">
<p>By default, the redirect mode is <code class="code">Redirect_if_idem</code>.</p>
</div>
</div>

<pre><span id="METHODset_redirect_mode"><span class="keyword">method</span> set_redirect_mode</span> : <code class="type"><a href="Nethttp_client.http_call-c.html">http_call</a> <a href="Nethttp_client.html#TYPEhow_to_redirect">how_to_redirect</a> -> unit</code></pre><div class="info ">
<div class="info-desc">
<p>Sets the redirect mode</p>
</div>
</div>

<pre><span id="METHODproxy_enabled"><span class="keyword">method</span> proxy_enabled</span> : <code class="type">bool</code></pre><div class="info ">
<div class="info-desc">
<p>Returns the proxy mode</p>
</div>
</div>

<pre><span id="METHODset_proxy_enabled"><span class="keyword">method</span> set_proxy_enabled</span> : <code class="type">bool -> unit</code></pre><div class="info ">
<div class="info-desc">
<p>Sets the proxy mode</p>
</div>
</div>

<pre><span id="METHODno_proxy"><span class="keyword">method</span> no_proxy</span> : <code class="type">unit -> unit</code></pre><div class="info ">
<div class="info-desc">
<p>Same as <code class="code">set_proxy_enabled false</code></p>
</div>
</div>

<pre><span id="METHODis_proxy_allowed"><span class="keyword">method</span> is_proxy_allowed</span> : <code class="type">unit -> bool</code></pre><div class="info ">
<div class="info-desc">
<p><b>Deprecated.</b> Same as <code class="code">proxy_enabled</code></p>
</div>
</div>
<h3 id="2_Methodcharacteristics">Method characteristics</h3>
<p>These properties describe the HTTP method</p>

<pre><span id="METHODproxy_use_connect"><span class="keyword">method</span> proxy_use_connect</span> : <code class="type">bool</code></pre><div class="info ">
<div class="info-desc">
<p>Whether to use the CONNECT method if the connection is made via a
	web proxy. This is normally true if the transport layer is
	<a href="Nethttp_client.html#VALhttps_trans_id"><code class="code">Nethttp_client.https_trans_id</code></a></p>
</div>
</div>

<pre><span id="METHODempty_path_replacement"><span class="keyword">method</span> empty_path_replacement</span> : <code class="type">string</code></pre><div class="info ">
<div class="info-desc">
<p>The string to substitute in the request line for the empty
 path. This is usually "/", and for OPTIONS it is "*".</p>
</div>
</div>

<pre><span id="METHODis_idempotent"><span class="keyword">method</span> is_idempotent</span> : <code class="type">bool</code></pre><div class="info ">
<div class="info-desc">
<p>Whether the method is to be considered as idempotent ( = repeated
 invocations have the same result and no side effect). This is
 true for GET and HEAD.</p>
</div>
</div>

<pre><span id="METHODhas_req_body"><span class="keyword">method</span> has_req_body</span> : <code class="type">bool</code></pre><div class="info ">
<div class="info-desc">
<p>Whether the method allows to send a request body</p>
</div>
</div>

<pre><span id="METHODhas_resp_body"><span class="keyword">method</span> has_resp_body</span> : <code class="type">bool</code></pre><div class="info ">
<div class="info-desc">
<p>Whether the method allows to reply with a body. This is true
 except for HEAD.</p>
</div>
</div>
<h3 id="2_Transportlayerbindings">Transport layer bindings</h3>
<p>Transport layer bindings are used to distinguish between security
      requirements.
      There are normally only two types of requirements:</p>

<ul>
<li>The ID <a href="Nethttp_client.html#VALhttp_trans_id"><code class="code">Nethttp_client.http_trans_id</code></a> is used for messages that can only
        be sent over HTTP connections, i.e. unencrypted TCP. It is automatically
        set when the URL of the message starts with "http://".</li>
<li>The ID <a href="Nethttp_client.html#VALhttps_trans_id"><code class="code">Nethttp_client.https_trans_id</code></a> describes the requirement that the
        message can only be sent over HTTPS connections, i.e. TLS-protected
        TCP. It is automatically  set when the URL of the message starts with
        "https://".</li>
</ul>
<p>It is possible to change the transport binding to establish further
      types of security requirements (e.g. that certain client certificates
      are used), or even other details of the transport connection.</p>

<pre><span id="METHODset_transport_layer"><span class="keyword">method</span> set_transport_layer</span> : <code class="type"><a href="Nethttp_client.html#TYPEtransport_layer_id">transport_layer_id</a> -> unit</code></pre><div class="info ">
<div class="info-desc">
<p>Sets the transport layer. Note that <code class="code">set_request_uri</code> also sets
	this ID, but always to the default for the type of URL.</p>
</div>
</div>
<h3 id="2_Repeatingcalls">Repeating calls</h3>
<pre><span id="METHODsame_call"><span class="keyword">method</span> same_call</span> : <code class="type">unit -> <a href="Nethttp_client.http_call-c.html">http_call</a></code></pre><div class="info ">
<div class="info-desc">
<p>This method returns a new object that will perform the same call
 as this object (this function is called "reload" in browsers).
 The new object is initialized as follows:</p>
<ul>
<li>The state is set to <code class="code">`Unserved</code></li>
<li>The request method remains the same (the class of the returned
   object remains the same)</li>
<li>The request URI is the same string as the original URI</li>
<li>The transport layer ID is the same</li>
<li>The base request header is the same object</li>
<li>The request body is the same object</li>
<li>Options like reconnect, redirect mode, and proxy mode are
   copied.</li>
</ul>
</div>
</div>
<h3 id="2_Oldstyleaccessmethods">Old style access methods</h3>
<p>These method were introduced in previous versions of netclient,
 but are quite limited. Some questionable methods are now deprecated
 and will be removed in future versions of netclient.</p>

<pre><span id="METHODget_req_method"><span class="keyword">method</span> get_req_method</span> : <code class="type">unit -> string</code></pre><div class="info ">
<div class="info-desc">
<p>Get the name of the request method. Same as <code class="code">request_method</code>.</p>
</div>
</div>

<pre><span id="METHODget_host"><span class="keyword">method</span> get_host</span> : <code class="type">unit -> string</code></pre><div class="info ">
<div class="info-desc">
<p>The host name of the content server, extracted from the URI.</p>

<p><b>Changed in Ocamlnet-3.3:</b> The host can first be extracted after
	the call is submitted to a pipeline.</p>
</div>
</div>

<pre><span id="METHODget_port"><span class="keyword">method</span> get_port</span> : <code class="type">unit -> int</code></pre><div class="info ">
<div class="info-desc">
<p>The port number of the content server, extracted from the URI.</p>

<p><b>Changed in Ocamlnet-3.3:</b> The port can first be extracted after
	the call is submitted to a pipeline.</p>
</div>
</div>

<pre><span id="METHODget_path"><span class="keyword">method</span> get_path</span> : <code class="type">unit -> string</code></pre><div class="info ">
<div class="info-desc">
<p>The path (incl. query, if any) extracted from the URI.</p>

<p><b>Changed in Ocamlnet-3.3:</b> The path can first be extracted after
	the call is submitted to a pipeline.</p>
</div>
</div>

<pre><span id="METHODget_uri"><span class="keyword">method</span> get_uri</span> : <code class="type">unit -> string</code></pre><div class="info ">
<div class="info-desc">
<p>the full URI of this message: http://server:port/path. If the
 path is empty, it is omitted. - Same as <code class="code">request_uri</code>.</p>
</div>
</div>

<pre><span id="METHODget_req_body"><span class="keyword">method</span> get_req_body</span> : <code class="type">unit -> string</code></pre><div class="info ">
<div class="info-desc">
<p>What has been sent as body in the (last) request. Same as
 <code class="code">request_body # value</code>.</p>
</div>
</div>

<pre><span id="METHODget_req_header"><span class="keyword">method</span> get_req_header</span> : <code class="type">unit -> (string * string) list</code></pre><div class="info ">
<div class="info-desc">
<p><b>Deprecated.</b>
 What has been sent as header in the (last) request. Returns
 (key, value) pairs, where the keys are all in lowercase.</p>

<p>In new code, the <code class="code">request_header</code> object should be accessed instead.</p>
</div>
</div>

<pre><span id="METHODassoc_req_header"><span class="keyword">method</span> assoc_req_header</span> : <code class="type">string -> string</code></pre><div class="info ">
<div class="info-desc">
<p>Query a specific header entry, or raise <code class="code">Not_found</code></p>
</div>
</div>

<pre><span id="METHODassoc_multi_req_header"><span class="keyword">method</span> assoc_multi_req_header</span> : <code class="type">string -> string list</code></pre><div class="info ">
<div class="info-desc">
<p>Return all header values for a given field name (header entries
 which allow several values separated by commas can also be 
 transmitted by several header lines with the same name).</p>
</div>
</div>

<pre><span id="METHODset_req_header"><span class="keyword">method</span> set_req_header</span> : <code class="type">string -> string -> unit</code></pre>
<pre><span id="METHODget_resp_header"><span class="keyword">method</span> get_resp_header</span> : <code class="type">unit -> (string * string) list</code></pre><div class="info ">
<div class="info-desc">
<p><b>Deprecated.</b>
 Get the header of the last response. The keys are in lowercase 
 characters again.</p>
</div>
</div>

<pre><span id="METHODassoc_resp_header"><span class="keyword">method</span> assoc_resp_header</span> : <code class="type">string -> string</code></pre><div class="info ">
<div class="info-desc">
<p>Query a specific header entry of the response.</p>
</div>
</div>

<pre><span id="METHODassoc_multi_resp_header"><span class="keyword">method</span> assoc_multi_resp_header</span> : <code class="type">string -> string list</code></pre><div class="info ">
<div class="info-desc">
<p>Return all response header values for a given field name (header 
 entries which allow several values separated by commas can also be 
 transmitted by several header lines with the same name).</p>
</div>
</div>

<pre><span id="METHODget_resp_body"><span class="keyword">method</span> get_resp_body</span> : <code class="type">unit -> string</code></pre><div class="info ">
<div class="info-desc">
<p><b>Deprecated.</b>
 Returns the body of the last response if the response status
 is OK (i.e. the code is in the range 200 to 299).</p>

<p>Otherwise, Http_error (code, body) is raised where 'code' is
 the response code and 'body' is the body of the (errorneous)
 response.</p>
</div>
</div>

<pre><span id="METHODdest_status"><span class="keyword">method</span> dest_status</span> : <code class="type">unit -> string * int * string</code></pre><div class="info ">
<div class="info-desc">
<p>Returns the status line of the last response (but status lines
 with code 100 are ignored).
 The returned triple is (http_string, code, text)</p>
</div>
</div>
<h3 id="2_Private">Private</h3>
<pre><span id="METHODprivate_api"><span class="keyword">method</span> private_api</span> : <code class="type"><a href="Nethttp_client.html#TYPEprivate_api">private_api</a></code></pre></body></html>