\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
