1<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Feature list</title><link rel="stylesheet" type="text/css" href="../manual.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="neon HTTP/WebDAV client library"><link rel="up" href="intro.html" title="Chapter 1. Introduction"><link rel="prev" href="intro.html" title="Chapter 1. Introduction"><link rel="next" href="using.html" title="How to use neon from your application"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Feature list</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="intro.html">Prev</a> </td><th width="60%" align="center">Chapter 1. Introduction</th><td width="20%" align="right"> <a accesskey="n" href="using.html">Next</a></td></tr></table><hr></div><div class="sect1" title="Feature list"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="features"></a>Feature list</h2></div></div></div><p>The major features of the neon library are as follows:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>A high-level interface to common HTTP and WebDAV 2methods. This allows you to easily dispatch a GET or a MKCOL request 3against a resource with a single function call.</p></li><li class="listitem"><p>A low-level interface for HTTP request 4handling; allowing you to implement requests using arbitrary methods 5and request headers, capture arbitrary response headers, and so 6on.</p></li><li class="listitem"><p>Persistent connection support; neon groups a 7set of requests to a server into a "session"; requests within that 8session can use a persistent (also known as "keep-alive") 9connection.</p></li><li class="listitem"><p>Modern HTTP authentication support: a complete 10implementation of the new authentication standard, RFC2617, supporting 11the Digest, Basic, and Negotiate protocols. Credentials are supplied 12by an application-defined callback as appropriate.</p></li><li class="listitem"><p>Proxy server support; a session can be set to 13use a proxy server. Authentication is supported for the Proxy as well 14as the origin server. The system's proxy configuration can be 15optionally used, on some platforms.</p></li><li class="listitem"><p>Complete SSL support; a simple interface for 16enabling SSL, hiding the complexity of using an SSL library directly. 17Client certificate support, callback-based server certificate 18verification, along with functions to load trusted CA certificates. 19Smartcard-based client certs are also supported via a wrapper 20interface for PKCS#11 modules.</p></li><li class="listitem"><p>Compressed response support: responses 21 compressed using the "deflate" algorithm can be transparently 22 decompressed.</p></li><li class="listitem"><p>Generic XML parsing interface for handling XML 23response bodies using SAX-like callbacks. Both the expat and libxml 24XML parser libraries are supported.</p></li><li class="listitem"><p>WebDAV metadata support; set and remove 25properties, query properties (PROPFIND); simple interface for 26retrieving "flat" byte-string properties, more advanced support for 27parsing "complex" structured XML properties.</p></li><li class="listitem"><p>Build environment support: the neon source 28tree is designed so that it can be embedded in your application's 29build tree; autoconf macros are supplied for integration. To get 30started quickly a <a class="xref" href="refconfig.html" title="neon-config"><span class="refentrytitle">neon-config</span></a> script is included, 31to easily determine how to compile and link against an installed copy 32of neon</p></li><li class="listitem"><p>Complete test suite: the neon test suite 33comprises half as many lines of source code as the library itself, 34including many tests for protocol compliance in network behaviour, and 35that the library implementation meets the guarantees made by the 36API.</p></li></ul></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="intro.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="intro.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="using.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 1. Introduction </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> How to use neon from your application</td></tr></table></div></body></html> 37