Initial revision
[TestXSLT.git] / libxml2 / doc / html / libxml-nanohttp.html
1 <HTML
2 ><HEAD
3 ><TITLE
4 >nanohttp</TITLE
5 ><META
6 NAME="GENERATOR"
7 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
8 "><LINK
9 REL="HOME"
10 TITLE="Gnome XML Library Reference Manual"
11 HREF="book1.html"><LINK
12 REL="UP"
13 TITLE="Libxml Library Reference"
14 HREF="libxml-lib.html"><LINK
15 REL="PREVIOUS"
16 TITLE="xinclude"
17 HREF="libxml-xinclude.html"><LINK
18 REL="NEXT"
19 TITLE="nanoftp"
20 HREF="libxml-nanoftp.html"></HEAD
21 ><BODY
22 CLASS="REFENTRY"
23 BGCOLOR="#FFFFFF"
24 TEXT="#000000"
25 LINK="#0000FF"
26 VLINK="#840084"
27 ALINK="#0000FF"
28 ><DIV
29 CLASS="NAVHEADER"
30 ><TABLE
31 WIDTH="100%"
32 BORDER="0"
33 BGCOLOR="#000000"
34 CELLPADDING="1"
35 CELLSPACING="0"
36 ><TR
37 ><TH
38 COLSPAN="4"
39 ALIGN="center"
40 ><FONT
41 COLOR="#FFFFFF"
42 SIZE="5"
43 >Gnome XML Library Reference Manual</FONT
44 ></TH
45 ></TR
46 ><TR
47 ><TD
48 WIDTH="25%"
49 BGCOLOR="#C00000"
50 ALIGN="left"
51 ><A
52 HREF="libxml-xinclude.html"
53 ><FONT
54 COLOR="#FFFFFF"
55 SIZE="3"
56 ><B
57 >&#60;&#60;&#60; Previous Page</B
58 ></FONT
59 ></A
60 ></TD
61 ><TD
62 WIDTH="25%"
63 BGCOLOR="#0000C0"
64 ALIGN="center"
65 ><FONT
66 COLOR="#FFFFFF"
67 SIZE="3"
68 ><B
69 ><A
70 HREF="book1.html"
71 ><FONT
72 COLOR="#FFFFFF"
73 SIZE="3"
74 ><B
75 >Home</B
76 ></FONT
77 ></A
78 ></B
79 ></FONT
80 ></TD
81 ><TD
82 WIDTH="25%"
83 BGCOLOR="#00C000"
84 ALIGN="center"
85 ><FONT
86 COLOR="#FFFFFF"
87 SIZE="3"
88 ><B
89 ><A
90 HREF="libxml-lib.html"
91 ><FONT
92 COLOR="#FFFFFF"
93 SIZE="3"
94 ><B
95 >Up</B
96 ></FONT
97 ></A
98 ></B
99 ></FONT
100 ></TD
101 ><TD
102 WIDTH="25%"
103 BGCOLOR="#C00000"
104 ALIGN="right"
105 ><A
106 HREF="libxml-nanoftp.html"
107 ><FONT
108 COLOR="#FFFFFF"
109 SIZE="3"
110 ><B
111 >Next Page &#62;&#62;&#62;</B
112 ></FONT
113 ></A
114 ></TD
115 ></TR
116 ></TABLE
117 ></DIV
118 ><H1
119 ><A
120 NAME="LIBXML-NANOHTTP">nanohttp</H1
121 ><DIV
122 CLASS="REFNAMEDIV"
123 ><A
124 NAME="AEN17735"
125 ></A
126 ><H2
127 >Name</H2
128 >nanohttp&nbsp;--&nbsp;</DIV
129 ><DIV
130 CLASS="REFSYNOPSISDIV"
131 ><A
132 NAME="AEN17738"><H2
133 >Synopsis</H2
134 ><TABLE
135 BORDER="0"
136 BGCOLOR="#D6E8FF"
137 WIDTH="100%"
138 CELLPADDING="6"
139 ><TR
140 ><TD
141 ><PRE
142 CLASS="SYNOPSIS"
143 >&#13;
144
145 void        <A
146 HREF="libxml-nanohttp.html#XMLNANOHTTPINIT"
147 >xmlNanoHTTPInit</A
148 >                 (void);
149 void        <A
150 HREF="libxml-nanohttp.html#XMLNANOHTTPCLEANUP"
151 >xmlNanoHTTPCleanup</A
152 >              (void);
153 void        <A
154 HREF="libxml-nanohttp.html#XMLNANOHTTPSCANPROXY"
155 >xmlNanoHTTPScanProxy</A
156 >            (const char *URL);
157 int         <A
158 HREF="libxml-nanohttp.html#XMLNANOHTTPFETCH"
159 >xmlNanoHTTPFetch</A
160 >                (const char *URL,
161                                              const char *filename,
162                                              char **contentType);
163 void*       <A
164 HREF="libxml-nanohttp.html#XMLNANOHTTPMETHOD"
165 >xmlNanoHTTPMethod</A
166 >               (const char *URL,
167                                              const char *method,
168                                              const char *input,
169                                              char **contentType,
170                                              const char *headers,
171                                              int ilen);
172 void*       <A
173 HREF="libxml-nanohttp.html#XMLNANOHTTPMETHODREDIR"
174 >xmlNanoHTTPMethodRedir</A
175 >          (const char *URL,
176                                              const char *method,
177                                              const char *input,
178                                              char **contentType,
179                                              char **redir,
180                                              const char *headers,
181                                              int ilen);
182 void*       <A
183 HREF="libxml-nanohttp.html#XMLNANOHTTPOPEN"
184 >xmlNanoHTTPOpen</A
185 >                 (const char *URL,
186                                              char **contentType);
187 void*       <A
188 HREF="libxml-nanohttp.html#XMLNANOHTTPOPENREDIR"
189 >xmlNanoHTTPOpenRedir</A
190 >            (const char *URL,
191                                              char **contentType,
192                                              char **redir);
193 int         <A
194 HREF="libxml-nanohttp.html#XMLNANOHTTPRETURNCODE"
195 >xmlNanoHTTPReturnCode</A
196 >           (void *ctx);
197 const char* <A
198 HREF="libxml-nanohttp.html#XMLNANOHTTPAUTHHEADER"
199 >xmlNanoHTTPAuthHeader</A
200 >           (void *ctx);
201 int         <A
202 HREF="libxml-nanohttp.html#XMLNANOHTTPREAD"
203 >xmlNanoHTTPRead</A
204 >                 (void *ctx,
205                                              void *dest,
206                                              int len);
207 int         <A
208 HREF="libxml-nanohttp.html#XMLNANOHTTPSAVE"
209 >xmlNanoHTTPSave</A
210 >                 (void *ctxt,
211                                              const char *filename);
212 void        <A
213 HREF="libxml-nanohttp.html#XMLNANOHTTPCLOSE"
214 >xmlNanoHTTPClose</A
215 >                (void *ctx);</PRE
216 ></TD
217 ></TR
218 ></TABLE
219 ></DIV
220 ><DIV
221 CLASS="REFSECT1"
222 ><A
223 NAME="AEN17754"
224 ></A
225 ><H2
226 >Description</H2
227 ><P
228 ></P
229 ></DIV
230 ><DIV
231 CLASS="REFSECT1"
232 ><A
233 NAME="AEN17757"
234 ></A
235 ><H2
236 >Details</H2
237 ><DIV
238 CLASS="REFSECT2"
239 ><A
240 NAME="AEN17759"
241 ></A
242 ><H3
243 ><A
244 NAME="XMLNANOHTTPINIT"
245 ></A
246 >xmlNanoHTTPInit ()</H3
247 ><TABLE
248 BORDER="0"
249 BGCOLOR="#D6E8FF"
250 WIDTH="100%"
251 CELLPADDING="6"
252 ><TR
253 ><TD
254 ><PRE
255 CLASS="PROGRAMLISTING"
256 >void        xmlNanoHTTPInit                 (void);</PRE
257 ></TD
258 ></TR
259 ></TABLE
260 ><P
261 >Initialize the HTTP protocol layer.
262 Currently it just checks for proxy informations</P
263 ><P
264 ></P
265 ></DIV
266 ><HR><DIV
267 CLASS="REFSECT2"
268 ><A
269 NAME="AEN17765"
270 ></A
271 ><H3
272 ><A
273 NAME="XMLNANOHTTPCLEANUP"
274 ></A
275 >xmlNanoHTTPCleanup ()</H3
276 ><TABLE
277 BORDER="0"
278 BGCOLOR="#D6E8FF"
279 WIDTH="100%"
280 CELLPADDING="6"
281 ><TR
282 ><TD
283 ><PRE
284 CLASS="PROGRAMLISTING"
285 >void        xmlNanoHTTPCleanup              (void);</PRE
286 ></TD
287 ></TR
288 ></TABLE
289 ><P
290 >Cleanup the HTTP protocol layer.</P
291 ><P
292 ></P
293 ></DIV
294 ><HR><DIV
295 CLASS="REFSECT2"
296 ><A
297 NAME="AEN17771"
298 ></A
299 ><H3
300 ><A
301 NAME="XMLNANOHTTPSCANPROXY"
302 ></A
303 >xmlNanoHTTPScanProxy ()</H3
304 ><TABLE
305 BORDER="0"
306 BGCOLOR="#D6E8FF"
307 WIDTH="100%"
308 CELLPADDING="6"
309 ><TR
310 ><TD
311 ><PRE
312 CLASS="PROGRAMLISTING"
313 >void        xmlNanoHTTPScanProxy            (const char *URL);</PRE
314 ></TD
315 ></TR
316 ></TABLE
317 ><P
318 >(Re)Initialize the HTTP Proxy context by parsing the URL and finding
319 the protocol host port it indicates.
320 Should be like http://myproxy/ or http://myproxy:3128/
321 A NULL URL cleans up proxy informations.</P
322 ><P
323 ></P
324 ><DIV
325 CLASS="INFORMALTABLE"
326 ><A
327 NAME="AEN17777"><P
328 ></P
329 ><TABLE
330 BORDER="0"
331 WIDTH="100%"
332 BGCOLOR="#FFD0D0"
333 CELLSPACING="0"
334 CELLPADDING="4"
335 CLASS="CALSTABLE"
336 ><TBODY
337 ><TR
338 ><TD
339 WIDTH="20%"
340 ALIGN="RIGHT"
341 VALIGN="TOP"
342 ><TT
343 CLASS="PARAMETER"
344 ><I
345 >URL</I
346 ></TT
347 >&nbsp;:</TD
348 ><TD
349 WIDTH="80%"
350 ALIGN="LEFT"
351 VALIGN="TOP"
352 >  The proxy URL used to initialize the proxy context</TD
353 ></TR
354 ></TBODY
355 ></TABLE
356 ><P
357 ></P
358 ></DIV
359 ></DIV
360 ><HR><DIV
361 CLASS="REFSECT2"
362 ><A
363 NAME="AEN17786"
364 ></A
365 ><H3
366 ><A
367 NAME="XMLNANOHTTPFETCH"
368 ></A
369 >xmlNanoHTTPFetch ()</H3
370 ><TABLE
371 BORDER="0"
372 BGCOLOR="#D6E8FF"
373 WIDTH="100%"
374 CELLPADDING="6"
375 ><TR
376 ><TD
377 ><PRE
378 CLASS="PROGRAMLISTING"
379 >int         xmlNanoHTTPFetch                (const char *URL,
380                                              const char *filename,
381                                              char **contentType);</PRE
382 ></TD
383 ></TR
384 ></TABLE
385 ><P
386 >This function try to fetch the indicated resource via HTTP GET
387 and save it's content in the file.</P
388 ><P
389 ></P
390 ><DIV
391 CLASS="INFORMALTABLE"
392 ><A
393 NAME="AEN17792"><P
394 ></P
395 ><TABLE
396 BORDER="0"
397 WIDTH="100%"
398 BGCOLOR="#FFD0D0"
399 CELLSPACING="0"
400 CELLPADDING="4"
401 CLASS="CALSTABLE"
402 ><TBODY
403 ><TR
404 ><TD
405 WIDTH="20%"
406 ALIGN="RIGHT"
407 VALIGN="TOP"
408 ><TT
409 CLASS="PARAMETER"
410 ><I
411 >URL</I
412 ></TT
413 >&nbsp;:</TD
414 ><TD
415 WIDTH="80%"
416 ALIGN="LEFT"
417 VALIGN="TOP"
418 >  The URL to load</TD
419 ></TR
420 ><TR
421 ><TD
422 WIDTH="20%"
423 ALIGN="RIGHT"
424 VALIGN="TOP"
425 ><TT
426 CLASS="PARAMETER"
427 ><I
428 >filename</I
429 ></TT
430 >&nbsp;:</TD
431 ><TD
432 WIDTH="80%"
433 ALIGN="LEFT"
434 VALIGN="TOP"
435 >  the filename where the content should be saved</TD
436 ></TR
437 ><TR
438 ><TD
439 WIDTH="20%"
440 ALIGN="RIGHT"
441 VALIGN="TOP"
442 ><TT
443 CLASS="PARAMETER"
444 ><I
445 >contentType</I
446 ></TT
447 >&nbsp;:</TD
448 ><TD
449 WIDTH="80%"
450 ALIGN="LEFT"
451 VALIGN="TOP"
452 >  if available the Content-Type information will be
453 returned at that location</TD
454 ></TR
455 ><TR
456 ><TD
457 WIDTH="20%"
458 ALIGN="RIGHT"
459 VALIGN="TOP"
460 ><SPAN
461 CLASS="emphasis"
462 ><I
463 CLASS="EMPHASIS"
464 >Returns</I
465 ></SPAN
466 > :</TD
467 ><TD
468 WIDTH="80%"
469 ALIGN="LEFT"
470 VALIGN="TOP"
471 >-1 in case of failure, 0 incase of success. The contentType,
472 if provided must be freed by the caller</TD
473 ></TR
474 ></TBODY
475 ></TABLE
476 ><P
477 ></P
478 ></DIV
479 ></DIV
480 ><HR><DIV
481 CLASS="REFSECT2"
482 ><A
483 NAME="AEN17813"
484 ></A
485 ><H3
486 ><A
487 NAME="XMLNANOHTTPMETHOD"
488 ></A
489 >xmlNanoHTTPMethod ()</H3
490 ><TABLE
491 BORDER="0"
492 BGCOLOR="#D6E8FF"
493 WIDTH="100%"
494 CELLPADDING="6"
495 ><TR
496 ><TD
497 ><PRE
498 CLASS="PROGRAMLISTING"
499 >void*       xmlNanoHTTPMethod               (const char *URL,
500                                              const char *method,
501                                              const char *input,
502                                              char **contentType,
503                                              const char *headers,
504                                              int ilen);</PRE
505 ></TD
506 ></TR
507 ></TABLE
508 ><P
509 >This function try to open a connection to the indicated resource
510 via HTTP using the given <TT
511 CLASS="PARAMETER"
512 ><I
513 >method</I
514 ></TT
515 >, adding the given extra headers
516 and the input buffer for the request content.</P
517 ><P
518 ></P
519 ><DIV
520 CLASS="INFORMALTABLE"
521 ><A
522 NAME="AEN17820"><P
523 ></P
524 ><TABLE
525 BORDER="0"
526 WIDTH="100%"
527 BGCOLOR="#FFD0D0"
528 CELLSPACING="0"
529 CELLPADDING="4"
530 CLASS="CALSTABLE"
531 ><TBODY
532 ><TR
533 ><TD
534 WIDTH="20%"
535 ALIGN="RIGHT"
536 VALIGN="TOP"
537 ><TT
538 CLASS="PARAMETER"
539 ><I
540 >URL</I
541 ></TT
542 >&nbsp;:</TD
543 ><TD
544 WIDTH="80%"
545 ALIGN="LEFT"
546 VALIGN="TOP"
547 >  The URL to load</TD
548 ></TR
549 ><TR
550 ><TD
551 WIDTH="20%"
552 ALIGN="RIGHT"
553 VALIGN="TOP"
554 ><TT
555 CLASS="PARAMETER"
556 ><I
557 >method</I
558 ></TT
559 >&nbsp;:</TD
560 ><TD
561 WIDTH="80%"
562 ALIGN="LEFT"
563 VALIGN="TOP"
564 >  the HTTP method to use</TD
565 ></TR
566 ><TR
567 ><TD
568 WIDTH="20%"
569 ALIGN="RIGHT"
570 VALIGN="TOP"
571 ><TT
572 CLASS="PARAMETER"
573 ><I
574 >input</I
575 ></TT
576 >&nbsp;:</TD
577 ><TD
578 WIDTH="80%"
579 ALIGN="LEFT"
580 VALIGN="TOP"
581 >  the input string if any</TD
582 ></TR
583 ><TR
584 ><TD
585 WIDTH="20%"
586 ALIGN="RIGHT"
587 VALIGN="TOP"
588 ><TT
589 CLASS="PARAMETER"
590 ><I
591 >contentType</I
592 ></TT
593 >&nbsp;:</TD
594 ><TD
595 WIDTH="80%"
596 ALIGN="LEFT"
597 VALIGN="TOP"
598 >  the Content-Type information IN and OUT</TD
599 ></TR
600 ><TR
601 ><TD
602 WIDTH="20%"
603 ALIGN="RIGHT"
604 VALIGN="TOP"
605 ><TT
606 CLASS="PARAMETER"
607 ><I
608 >headers</I
609 ></TT
610 >&nbsp;:</TD
611 ><TD
612 WIDTH="80%"
613 ALIGN="LEFT"
614 VALIGN="TOP"
615 >  the extra headers</TD
616 ></TR
617 ><TR
618 ><TD
619 WIDTH="20%"
620 ALIGN="RIGHT"
621 VALIGN="TOP"
622 ><TT
623 CLASS="PARAMETER"
624 ><I
625 >ilen</I
626 ></TT
627 >&nbsp;:</TD
628 ><TD
629 WIDTH="80%"
630 ALIGN="LEFT"
631 VALIGN="TOP"
632 >  input length</TD
633 ></TR
634 ></TBODY
635 ></TABLE
636 ><P
637 ></P
638 ></DIV
639 ></DIV
640 ><HR><DIV
641 CLASS="REFSECT2"
642 ><A
643 NAME="AEN17849"
644 ></A
645 ><H3
646 ><A
647 NAME="XMLNANOHTTPMETHODREDIR"
648 ></A
649 >xmlNanoHTTPMethodRedir ()</H3
650 ><TABLE
651 BORDER="0"
652 BGCOLOR="#D6E8FF"
653 WIDTH="100%"
654 CELLPADDING="6"
655 ><TR
656 ><TD
657 ><PRE
658 CLASS="PROGRAMLISTING"
659 >void*       xmlNanoHTTPMethodRedir          (const char *URL,
660                                              const char *method,
661                                              const char *input,
662                                              char **contentType,
663                                              char **redir,
664                                              const char *headers,
665                                              int ilen);</PRE
666 ></TD
667 ></TR
668 ></TABLE
669 ><P
670 >This function try to open a connection to the indicated resource
671 via HTTP using the given <TT
672 CLASS="PARAMETER"
673 ><I
674 >method</I
675 ></TT
676 >, adding the given extra headers
677 and the input buffer for the request content.</P
678 ><P
679 ></P
680 ><DIV
681 CLASS="INFORMALTABLE"
682 ><A
683 NAME="AEN17856"><P
684 ></P
685 ><TABLE
686 BORDER="0"
687 WIDTH="100%"
688 BGCOLOR="#FFD0D0"
689 CELLSPACING="0"
690 CELLPADDING="4"
691 CLASS="CALSTABLE"
692 ><TBODY
693 ><TR
694 ><TD
695 WIDTH="20%"
696 ALIGN="RIGHT"
697 VALIGN="TOP"
698 ><TT
699 CLASS="PARAMETER"
700 ><I
701 >URL</I
702 ></TT
703 >&nbsp;:</TD
704 ><TD
705 WIDTH="80%"
706 ALIGN="LEFT"
707 VALIGN="TOP"
708 >  The URL to load</TD
709 ></TR
710 ><TR
711 ><TD
712 WIDTH="20%"
713 ALIGN="RIGHT"
714 VALIGN="TOP"
715 ><TT
716 CLASS="PARAMETER"
717 ><I
718 >method</I
719 ></TT
720 >&nbsp;:</TD
721 ><TD
722 WIDTH="80%"
723 ALIGN="LEFT"
724 VALIGN="TOP"
725 >  the HTTP method to use</TD
726 ></TR
727 ><TR
728 ><TD
729 WIDTH="20%"
730 ALIGN="RIGHT"
731 VALIGN="TOP"
732 ><TT
733 CLASS="PARAMETER"
734 ><I
735 >input</I
736 ></TT
737 >&nbsp;:</TD
738 ><TD
739 WIDTH="80%"
740 ALIGN="LEFT"
741 VALIGN="TOP"
742 >  the input string if any</TD
743 ></TR
744 ><TR
745 ><TD
746 WIDTH="20%"
747 ALIGN="RIGHT"
748 VALIGN="TOP"
749 ><TT
750 CLASS="PARAMETER"
751 ><I
752 >contentType</I
753 ></TT
754 >&nbsp;:</TD
755 ><TD
756 WIDTH="80%"
757 ALIGN="LEFT"
758 VALIGN="TOP"
759 >  the Content-Type information IN and OUT</TD
760 ></TR
761 ><TR
762 ><TD
763 WIDTH="20%"
764 ALIGN="RIGHT"
765 VALIGN="TOP"
766 ><TT
767 CLASS="PARAMETER"
768 ><I
769 >redir</I
770 ></TT
771 >&nbsp;:</TD
772 ><TD
773 WIDTH="80%"
774 ALIGN="LEFT"
775 VALIGN="TOP"
776 >  the redirected URL OUT</TD
777 ></TR
778 ><TR
779 ><TD
780 WIDTH="20%"
781 ALIGN="RIGHT"
782 VALIGN="TOP"
783 ><TT
784 CLASS="PARAMETER"
785 ><I
786 >headers</I
787 ></TT
788 >&nbsp;:</TD
789 ><TD
790 WIDTH="80%"
791 ALIGN="LEFT"
792 VALIGN="TOP"
793 >  the extra headers</TD
794 ></TR
795 ><TR
796 ><TD
797 WIDTH="20%"
798 ALIGN="RIGHT"
799 VALIGN="TOP"
800 ><TT
801 CLASS="PARAMETER"
802 ><I
803 >ilen</I
804 ></TT
805 >&nbsp;:</TD
806 ><TD
807 WIDTH="80%"
808 ALIGN="LEFT"
809 VALIGN="TOP"
810 >  input length</TD
811 ></TR
812 ></TBODY
813 ></TABLE
814 ><P
815 ></P
816 ></DIV
817 ></DIV
818 ><HR><DIV
819 CLASS="REFSECT2"
820 ><A
821 NAME="AEN17889"
822 ></A
823 ><H3
824 ><A
825 NAME="XMLNANOHTTPOPEN"
826 ></A
827 >xmlNanoHTTPOpen ()</H3
828 ><TABLE
829 BORDER="0"
830 BGCOLOR="#D6E8FF"
831 WIDTH="100%"
832 CELLPADDING="6"
833 ><TR
834 ><TD
835 ><PRE
836 CLASS="PROGRAMLISTING"
837 >void*       xmlNanoHTTPOpen                 (const char *URL,
838                                              char **contentType);</PRE
839 ></TD
840 ></TR
841 ></TABLE
842 ><P
843 >This function try to open a connection to the indicated resource
844 via HTTP GET.</P
845 ><P
846 ></P
847 ><DIV
848 CLASS="INFORMALTABLE"
849 ><A
850 NAME="AEN17895"><P
851 ></P
852 ><TABLE
853 BORDER="0"
854 WIDTH="100%"
855 BGCOLOR="#FFD0D0"
856 CELLSPACING="0"
857 CELLPADDING="4"
858 CLASS="CALSTABLE"
859 ><TBODY
860 ><TR
861 ><TD
862 WIDTH="20%"
863 ALIGN="RIGHT"
864 VALIGN="TOP"
865 ><TT
866 CLASS="PARAMETER"
867 ><I
868 >URL</I
869 ></TT
870 >&nbsp;:</TD
871 ><TD
872 WIDTH="80%"
873 ALIGN="LEFT"
874 VALIGN="TOP"
875 >  The URL to load</TD
876 ></TR
877 ><TR
878 ><TD
879 WIDTH="20%"
880 ALIGN="RIGHT"
881 VALIGN="TOP"
882 ><TT
883 CLASS="PARAMETER"
884 ><I
885 >contentType</I
886 ></TT
887 >&nbsp;:</TD
888 ><TD
889 WIDTH="80%"
890 ALIGN="LEFT"
891 VALIGN="TOP"
892 >  if available the Content-Type information will be
893 returned at that location</TD
894 ></TR
895 ></TBODY
896 ></TABLE
897 ><P
898 ></P
899 ></DIV
900 ></DIV
901 ><HR><DIV
902 CLASS="REFSECT2"
903 ><A
904 NAME="AEN17908"
905 ></A
906 ><H3
907 ><A
908 NAME="XMLNANOHTTPOPENREDIR"
909 ></A
910 >xmlNanoHTTPOpenRedir ()</H3
911 ><TABLE
912 BORDER="0"
913 BGCOLOR="#D6E8FF"
914 WIDTH="100%"
915 CELLPADDING="6"
916 ><TR
917 ><TD
918 ><PRE
919 CLASS="PROGRAMLISTING"
920 >void*       xmlNanoHTTPOpenRedir            (const char *URL,
921                                              char **contentType,
922                                              char **redir);</PRE
923 ></TD
924 ></TR
925 ></TABLE
926 ><P
927 >This function try to open a connection to the indicated resource
928 via HTTP GET.</P
929 ><P
930 ></P
931 ><DIV
932 CLASS="INFORMALTABLE"
933 ><A
934 NAME="AEN17914"><P
935 ></P
936 ><TABLE
937 BORDER="0"
938 WIDTH="100%"
939 BGCOLOR="#FFD0D0"
940 CELLSPACING="0"
941 CELLPADDING="4"
942 CLASS="CALSTABLE"
943 ><TBODY
944 ><TR
945 ><TD
946 WIDTH="20%"
947 ALIGN="RIGHT"
948 VALIGN="TOP"
949 ><TT
950 CLASS="PARAMETER"
951 ><I
952 >URL</I
953 ></TT
954 >&nbsp;:</TD
955 ><TD
956 WIDTH="80%"
957 ALIGN="LEFT"
958 VALIGN="TOP"
959 >  The URL to load</TD
960 ></TR
961 ><TR
962 ><TD
963 WIDTH="20%"
964 ALIGN="RIGHT"
965 VALIGN="TOP"
966 ><TT
967 CLASS="PARAMETER"
968 ><I
969 >contentType</I
970 ></TT
971 >&nbsp;:</TD
972 ><TD
973 WIDTH="80%"
974 ALIGN="LEFT"
975 VALIGN="TOP"
976 >  if available the Content-Type information will be
977 returned at that location</TD
978 ></TR
979 ><TR
980 ><TD
981 WIDTH="20%"
982 ALIGN="RIGHT"
983 VALIGN="TOP"
984 ><TT
985 CLASS="PARAMETER"
986 ><I
987 >redir</I
988 ></TT
989 >&nbsp;:</TD
990 ><TD
991 WIDTH="80%"
992 ALIGN="LEFT"
993 VALIGN="TOP"
994 > if available the redirected URL will be returned</TD
995 ></TR
996 ></TBODY
997 ></TABLE
998 ><P
999 ></P
1000 ></DIV
1001 ></DIV
1002 ><HR><DIV
1003 CLASS="REFSECT2"
1004 ><A
1005 NAME="AEN17931"
1006 ></A
1007 ><H3
1008 ><A
1009 NAME="XMLNANOHTTPRETURNCODE"
1010 ></A
1011 >xmlNanoHTTPReturnCode ()</H3
1012 ><TABLE
1013 BORDER="0"
1014 BGCOLOR="#D6E8FF"
1015 WIDTH="100%"
1016 CELLPADDING="6"
1017 ><TR
1018 ><TD
1019 ><PRE
1020 CLASS="PROGRAMLISTING"
1021 >int         xmlNanoHTTPReturnCode           (void *ctx);</PRE
1022 ></TD
1023 ></TR
1024 ></TABLE
1025 ><P
1026 >Get the latest HTTP return code received</P
1027 ><P
1028 ></P
1029 ><DIV
1030 CLASS="INFORMALTABLE"
1031 ><A
1032 NAME="AEN17937"><P
1033 ></P
1034 ><TABLE
1035 BORDER="0"
1036 WIDTH="100%"
1037 BGCOLOR="#FFD0D0"
1038 CELLSPACING="0"
1039 CELLPADDING="4"
1040 CLASS="CALSTABLE"
1041 ><TBODY
1042 ><TR
1043 ><TD
1044 WIDTH="20%"
1045 ALIGN="RIGHT"
1046 VALIGN="TOP"
1047 ><TT
1048 CLASS="PARAMETER"
1049 ><I
1050 >ctx</I
1051 ></TT
1052 >&nbsp;:</TD
1053 ><TD
1054 WIDTH="80%"
1055 ALIGN="LEFT"
1056 VALIGN="TOP"
1057 >  the HTTP context</TD
1058 ></TR
1059 ><TR
1060 ><TD
1061 WIDTH="20%"
1062 ALIGN="RIGHT"
1063 VALIGN="TOP"
1064 ><SPAN
1065 CLASS="emphasis"
1066 ><I
1067 CLASS="EMPHASIS"
1068 >Returns</I
1069 ></SPAN
1070 > :</TD
1071 ><TD
1072 WIDTH="80%"
1073 ALIGN="LEFT"
1074 VALIGN="TOP"
1075 >the HTTP return code for the request.</TD
1076 ></TR
1077 ></TBODY
1078 ></TABLE
1079 ><P
1080 ></P
1081 ></DIV
1082 ></DIV
1083 ><HR><DIV
1084 CLASS="REFSECT2"
1085 ><A
1086 NAME="AEN17950"
1087 ></A
1088 ><H3
1089 ><A
1090 NAME="XMLNANOHTTPAUTHHEADER"
1091 ></A
1092 >xmlNanoHTTPAuthHeader ()</H3
1093 ><TABLE
1094 BORDER="0"
1095 BGCOLOR="#D6E8FF"
1096 WIDTH="100%"
1097 CELLPADDING="6"
1098 ><TR
1099 ><TD
1100 ><PRE
1101 CLASS="PROGRAMLISTING"
1102 >const char* xmlNanoHTTPAuthHeader           (void *ctx);</PRE
1103 ></TD
1104 ></TR
1105 ></TABLE
1106 ><P
1107 >Get the authentication header of an HTTP context</P
1108 ><P
1109 ></P
1110 ><DIV
1111 CLASS="INFORMALTABLE"
1112 ><A
1113 NAME="AEN17956"><P
1114 ></P
1115 ><TABLE
1116 BORDER="0"
1117 WIDTH="100%"
1118 BGCOLOR="#FFD0D0"
1119 CELLSPACING="0"
1120 CELLPADDING="4"
1121 CLASS="CALSTABLE"
1122 ><TBODY
1123 ><TR
1124 ><TD
1125 WIDTH="20%"
1126 ALIGN="RIGHT"
1127 VALIGN="TOP"
1128 ><TT
1129 CLASS="PARAMETER"
1130 ><I
1131 >ctx</I
1132 ></TT
1133 >&nbsp;:</TD
1134 ><TD
1135 WIDTH="80%"
1136 ALIGN="LEFT"
1137 VALIGN="TOP"
1138 >  the HTTP context</TD
1139 ></TR
1140 ><TR
1141 ><TD
1142 WIDTH="20%"
1143 ALIGN="RIGHT"
1144 VALIGN="TOP"
1145 ><SPAN
1146 CLASS="emphasis"
1147 ><I
1148 CLASS="EMPHASIS"
1149 >Returns</I
1150 ></SPAN
1151 > :</TD
1152 ><TD
1153 WIDTH="80%"
1154 ALIGN="LEFT"
1155 VALIGN="TOP"
1156 >the stashed value of the WWW-Authenticate or Proxy-Authenticate
1157 header.</TD
1158 ></TR
1159 ></TBODY
1160 ></TABLE
1161 ><P
1162 ></P
1163 ></DIV
1164 ></DIV
1165 ><HR><DIV
1166 CLASS="REFSECT2"
1167 ><A
1168 NAME="AEN17969"
1169 ></A
1170 ><H3
1171 ><A
1172 NAME="XMLNANOHTTPREAD"
1173 ></A
1174 >xmlNanoHTTPRead ()</H3
1175 ><TABLE
1176 BORDER="0"
1177 BGCOLOR="#D6E8FF"
1178 WIDTH="100%"
1179 CELLPADDING="6"
1180 ><TR
1181 ><TD
1182 ><PRE
1183 CLASS="PROGRAMLISTING"
1184 >int         xmlNanoHTTPRead                 (void *ctx,
1185                                              void *dest,
1186                                              int len);</PRE
1187 ></TD
1188 ></TR
1189 ></TABLE
1190 ><P
1191 >This function tries to read <TT
1192 CLASS="PARAMETER"
1193 ><I
1194 >len</I
1195 ></TT
1196 > bytes from the existing HTTP connection
1197 and saves them in <TT
1198 CLASS="PARAMETER"
1199 ><I
1200 >dest</I
1201 ></TT
1202 >. This is a blocking call.</P
1203 ><P
1204 ></P
1205 ><DIV
1206 CLASS="INFORMALTABLE"
1207 ><A
1208 NAME="AEN17977"><P
1209 ></P
1210 ><TABLE
1211 BORDER="0"
1212 WIDTH="100%"
1213 BGCOLOR="#FFD0D0"
1214 CELLSPACING="0"
1215 CELLPADDING="4"
1216 CLASS="CALSTABLE"
1217 ><TBODY
1218 ><TR
1219 ><TD
1220 WIDTH="20%"
1221 ALIGN="RIGHT"
1222 VALIGN="TOP"
1223 ><TT
1224 CLASS="PARAMETER"
1225 ><I
1226 >ctx</I
1227 ></TT
1228 >&nbsp;:</TD
1229 ><TD
1230 WIDTH="80%"
1231 ALIGN="LEFT"
1232 VALIGN="TOP"
1233 >  the HTTP context</TD
1234 ></TR
1235 ><TR
1236 ><TD
1237 WIDTH="20%"
1238 ALIGN="RIGHT"
1239 VALIGN="TOP"
1240 ><TT
1241 CLASS="PARAMETER"
1242 ><I
1243 >dest</I
1244 ></TT
1245 >&nbsp;:</TD
1246 ><TD
1247 WIDTH="80%"
1248 ALIGN="LEFT"
1249 VALIGN="TOP"
1250 >  a buffer</TD
1251 ></TR
1252 ><TR
1253 ><TD
1254 WIDTH="20%"
1255 ALIGN="RIGHT"
1256 VALIGN="TOP"
1257 ><TT
1258 CLASS="PARAMETER"
1259 ><I
1260 >len</I
1261 ></TT
1262 >&nbsp;:</TD
1263 ><TD
1264 WIDTH="80%"
1265 ALIGN="LEFT"
1266 VALIGN="TOP"
1267 >  the buffer length</TD
1268 ></TR
1269 ><TR
1270 ><TD
1271 WIDTH="20%"
1272 ALIGN="RIGHT"
1273 VALIGN="TOP"
1274 ><SPAN
1275 CLASS="emphasis"
1276 ><I
1277 CLASS="EMPHASIS"
1278 >Returns</I
1279 ></SPAN
1280 > :</TD
1281 ><TD
1282 WIDTH="80%"
1283 ALIGN="LEFT"
1284 VALIGN="TOP"
1285 >the number of byte read. 0 is an indication of an end of connection.
1286 -1 indicates a parameter error.</TD
1287 ></TR
1288 ></TBODY
1289 ></TABLE
1290 ><P
1291 ></P
1292 ></DIV
1293 ></DIV
1294 ><HR><DIV
1295 CLASS="REFSECT2"
1296 ><A
1297 NAME="AEN17998"
1298 ></A
1299 ><H3
1300 ><A
1301 NAME="XMLNANOHTTPSAVE"
1302 ></A
1303 >xmlNanoHTTPSave ()</H3
1304 ><TABLE
1305 BORDER="0"
1306 BGCOLOR="#D6E8FF"
1307 WIDTH="100%"
1308 CELLPADDING="6"
1309 ><TR
1310 ><TD
1311 ><PRE
1312 CLASS="PROGRAMLISTING"
1313 >int         xmlNanoHTTPSave                 (void *ctxt,
1314                                              const char *filename);</PRE
1315 ></TD
1316 ></TR
1317 ></TABLE
1318 ><P
1319 >This function saves the output of the HTTP transaction to a file
1320 It closes and free the context at the end</P
1321 ><P
1322 ></P
1323 ><DIV
1324 CLASS="INFORMALTABLE"
1325 ><A
1326 NAME="AEN18004"><P
1327 ></P
1328 ><TABLE
1329 BORDER="0"
1330 WIDTH="100%"
1331 BGCOLOR="#FFD0D0"
1332 CELLSPACING="0"
1333 CELLPADDING="4"
1334 CLASS="CALSTABLE"
1335 ><TBODY
1336 ><TR
1337 ><TD
1338 WIDTH="20%"
1339 ALIGN="RIGHT"
1340 VALIGN="TOP"
1341 ><TT
1342 CLASS="PARAMETER"
1343 ><I
1344 >ctxt</I
1345 ></TT
1346 >&nbsp;:</TD
1347 ><TD
1348 WIDTH="80%"
1349 ALIGN="LEFT"
1350 VALIGN="TOP"
1351 >  the HTTP context</TD
1352 ></TR
1353 ><TR
1354 ><TD
1355 WIDTH="20%"
1356 ALIGN="RIGHT"
1357 VALIGN="TOP"
1358 ><TT
1359 CLASS="PARAMETER"
1360 ><I
1361 >filename</I
1362 ></TT
1363 >&nbsp;:</TD
1364 ><TD
1365 WIDTH="80%"
1366 ALIGN="LEFT"
1367 VALIGN="TOP"
1368 >  the filename where the content should be saved</TD
1369 ></TR
1370 ><TR
1371 ><TD
1372 WIDTH="20%"
1373 ALIGN="RIGHT"
1374 VALIGN="TOP"
1375 ><SPAN
1376 CLASS="emphasis"
1377 ><I
1378 CLASS="EMPHASIS"
1379 >Returns</I
1380 ></SPAN
1381 > :</TD
1382 ><TD
1383 WIDTH="80%"
1384 ALIGN="LEFT"
1385 VALIGN="TOP"
1386 >-1 in case of failure, 0 incase of success.</TD
1387 ></TR
1388 ></TBODY
1389 ></TABLE
1390 ><P
1391 ></P
1392 ></DIV
1393 ></DIV
1394 ><HR><DIV
1395 CLASS="REFSECT2"
1396 ><A
1397 NAME="AEN18021"
1398 ></A
1399 ><H3
1400 ><A
1401 NAME="XMLNANOHTTPCLOSE"
1402 ></A
1403 >xmlNanoHTTPClose ()</H3
1404 ><TABLE
1405 BORDER="0"
1406 BGCOLOR="#D6E8FF"
1407 WIDTH="100%"
1408 CELLPADDING="6"
1409 ><TR
1410 ><TD
1411 ><PRE
1412 CLASS="PROGRAMLISTING"
1413 >void        xmlNanoHTTPClose                (void *ctx);</PRE
1414 ></TD
1415 ></TR
1416 ></TABLE
1417 ><P
1418 >This function closes an HTTP context, it ends up the connection and
1419 free all data related to it.</P
1420 ><P
1421 ></P
1422 ><DIV
1423 CLASS="INFORMALTABLE"
1424 ><A
1425 NAME="AEN18027"><P
1426 ></P
1427 ><TABLE
1428 BORDER="0"
1429 WIDTH="100%"
1430 BGCOLOR="#FFD0D0"
1431 CELLSPACING="0"
1432 CELLPADDING="4"
1433 CLASS="CALSTABLE"
1434 ><TBODY
1435 ><TR
1436 ><TD
1437 WIDTH="20%"
1438 ALIGN="RIGHT"
1439 VALIGN="TOP"
1440 ><TT
1441 CLASS="PARAMETER"
1442 ><I
1443 >ctx</I
1444 ></TT
1445 >&nbsp;:</TD
1446 ><TD
1447 WIDTH="80%"
1448 ALIGN="LEFT"
1449 VALIGN="TOP"
1450 >  the HTTP context</TD
1451 ></TR
1452 ></TBODY
1453 ></TABLE
1454 ><P
1455 ></P
1456 ></DIV
1457 ></DIV
1458 ></DIV
1459 ><DIV
1460 CLASS="NAVFOOTER"
1461 ><BR
1462 CLEAR="all"><BR><TABLE
1463 WIDTH="100%"
1464 BORDER="0"
1465 BGCOLOR="#000000"
1466 CELLPADDING="1"
1467 CELLSPACING="0"
1468 ><TR
1469 ><TD
1470 WIDTH="25%"
1471 BGCOLOR="#C00000"
1472 ALIGN="left"
1473 ><A
1474 HREF="libxml-xinclude.html"
1475 ><FONT
1476 COLOR="#FFFFFF"
1477 SIZE="3"
1478 ><B
1479 >&#60;&#60;&#60; Previous Page</B
1480 ></FONT
1481 ></A
1482 ></TD
1483 ><TD
1484 WIDTH="25%"
1485 BGCOLOR="#0000C0"
1486 ALIGN="center"
1487 ><FONT
1488 COLOR="#FFFFFF"
1489 SIZE="3"
1490 ><B
1491 ><A
1492 HREF="book1.html"
1493 ><FONT
1494 COLOR="#FFFFFF"
1495 SIZE="3"
1496 ><B
1497 >Home</B
1498 ></FONT
1499 ></A
1500 ></B
1501 ></FONT
1502 ></TD
1503 ><TD
1504 WIDTH="25%"
1505 BGCOLOR="#00C000"
1506 ALIGN="center"
1507 ><FONT
1508 COLOR="#FFFFFF"
1509 SIZE="3"
1510 ><B
1511 ><A
1512 HREF="libxml-lib.html"
1513 ><FONT
1514 COLOR="#FFFFFF"
1515 SIZE="3"
1516 ><B
1517 >Up</B
1518 ></FONT
1519 ></A
1520 ></B
1521 ></FONT
1522 ></TD
1523 ><TD
1524 WIDTH="25%"
1525 BGCOLOR="#C00000"
1526 ALIGN="right"
1527 ><A
1528 HREF="libxml-nanoftp.html"
1529 ><FONT
1530 COLOR="#FFFFFF"
1531 SIZE="3"
1532 ><B
1533 >Next Page &#62;&#62;&#62;</B
1534 ></FONT
1535 ></A
1536 ></TD
1537 ></TR
1538 ><TR
1539 ><TD
1540 COLSPAN="2"
1541 ALIGN="left"
1542 ><FONT
1543 COLOR="#FFFFFF"
1544 SIZE="3"
1545 ><B
1546 >xinclude</B
1547 ></FONT
1548 ></TD
1549 ><TD
1550 COLSPAN="2"
1551 ALIGN="right"
1552 ><FONT
1553 COLOR="#FFFFFF"
1554 SIZE="3"
1555 ><B
1556 >nanoftp</B
1557 ></FONT
1558 ></TD
1559 ></TR
1560 ></TABLE
1561 ></DIV
1562 ></BODY
1563 ></HTML
1564 >