\input texinfo  @c -*-texinfo-*-
@finalout
@setfilename libmicrohttpd-tutorial.info
@set UPDATED 17 November 2013
@set UPDATED-MONTH November 2013
@set EDITION 0.9.23
@set VERSION 0.9.23
@settitle A tutorial for GNU libmicrohttpd
@c Unify all the indices into concept index.
@syncodeindex fn cp
@syncodeindex vr cp
@syncodeindex ky cp
@syncodeindex pg cp
@syncodeindex tp cp

@dircategory Software libraries
@direntry
* libmicrohttpdtutorial: (libmicrohttpd).       A tutorial for GNU libmicrohttpd.
@end direntry

@copying
This tutorial documents GNU libmicrohttpd version @value{VERSION}, last
updated @value{UPDATED}.

Copyright (c)  2008  Sebastian Gerhardt.

Copyright (c)  2010, 2011, 2012, 2013  Christian Grothoff.
@quotation
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts.  A copy of the license is included in the section entitled "GNU
Free Documentation License".
@end quotation
@end copying

@titlepage
@title A Tutorial for GNU libmicrohttpd
@subtitle Version @value{VERSION}
@subtitle @value{UPDATED}
@author Sebastian Gerhardt (@email{sebgerhardt@@gmx.net})
@author Christian Grothoff (@email{christian@@grothoff.org})
@author Matthieu Speder (@email{mspeder@@users.sourceforge.net})

@page
@vskip 0pt plus 1filll
@insertcopying
@end titlepage



@contents

@ifnottex
@node Top
@top A Tutorial for GNU libmicrohttpd
@insertcopying
@end ifnottex

@menu
* Introduction::
* Hello browser example::
* Exploring requests::
* Response headers::
* Supporting basic authentication::
* Processing POST data::
* Improved processing of POST data::
* Session management::
* Adding a layer of security::
* Bibliography::
* License text::
* Example programs::
@end menu

@node Introduction
@chapter Introduction
@include chapters/introduction.inc

@node Hello browser example
@chapter Hello browser example
@include chapters/hellobrowser.inc

@node Exploring requests
@chapter Exploring requests
@include chapters/exploringrequests.inc

@node Response headers
@chapter Response headers
@include chapters/responseheaders.inc

@node Supporting basic authentication
@chapter Supporting basic authentication
@include chapters/basicauthentication.inc

@node Processing POST data
@chapter Processing POST data
@include chapters/processingpost.inc

@node Improved processing of POST data
@chapter Improved processing of POST data
@include chapters/largerpost.inc

@node Session management
@chapter Session management
@include chapters/sessions.inc

@node Adding a layer of security
@chapter Adding a layer of security
@include chapters/tlsauthentication.inc

@node Bibliography
@appendix Bibliography
@include chapters/bibliography.inc

@node License text
@appendix GNU Free Documentation License
@include fdl-1.3.texi

@node Example programs
@appendix Example programs
@menu
* hellobrowser.c::
* logging.c::
* responseheaders.c::
* basicauthentication.c::
* simplepost.c::
* largepost.c::
* sessions.c::
* tlsauthentication.c::
@end menu

@node hellobrowser.c
@section hellobrowser.c
@smalldisplay
@verbatiminclude examples/hellobrowser.c
@end smalldisplay

@node logging.c
@section logging.c
@smalldisplay
@verbatiminclude examples/logging.c
@end smalldisplay

@node responseheaders.c
@section responseheaders.c
@smalldisplay
@verbatiminclude examples/responseheaders.c
@end smalldisplay

@node basicauthentication.c
@section basicauthentication.c
@smalldisplay
@verbatiminclude examples/basicauthentication.c
@end smalldisplay

@node simplepost.c
@section simplepost.c
@smalldisplay
@verbatiminclude examples/simplepost.c
@end smalldisplay

@node largepost.c
@section largepost.c
@smalldisplay
@verbatiminclude examples/largepost.c
@end smalldisplay

@node sessions.c
@section sessions.c
@smalldisplay
@verbatiminclude examples/sessions.c
@end smalldisplay

@node tlsauthentication.c
@section tlsauthentication.c
@smalldisplay
@verbatiminclude examples/tlsauthentication.c
@end smalldisplay

@bye