NAME
ne_set_useragent, ne_set_persist, ne_set_read_timeout, ne_get_scheme, ne_get_server_hostport - common properties for HTTP sessions
SYNOPSIS
#include <ne_session.h>
void ne_set_useragent(ne_session *session, const char *product);
void ne_set_persist(ne_session *session, int flag);
void ne_set_read_timeout(ne_session *session, int timeout);
const char *ne_get_scheme(ne_sesssion *session);
const char *ne_get_server_hostport(ne_sesssion *session);
DESCRIPTION
The
User-Agent
request header is used to identify the software which generated the request for statistical or debugging purposes. neon does not send a
User-Agent
header unless a call is made to the
ne_set_useragent.
ne_set_useragent
must be passed a product string conforming to RFC2616's product token grammar; of the form
"Product/Version".
By default neon will use a persistent connection whenever possible. For specific applications, or for debugging purposes, it is sometimes useful to disable persistent connections. The
ne_set_persist
function will disable persistent connections if passed a
flag
parameter of
0, and will enable them otherwise.
When neon reads from a socket, by default the read operation will time out after 60 seconds, and the request will fail giving an
NE_TIMEOUT
error. To configure this timeout interval, call
ne_set_read_timeout
giving the desired number of seconds as the
timeout
parameter.
The scheme used to initially create the session will be returned by
ne_get_scheme.
The hostport pair with which the session is associated will be returned by the
ne_get_server_hostport; for example
www.example.com:8080. Note that the
:port
will be omitted if the default port for the scheme is used.
EXAMPLES
Set a user-agent string:
ne_session *sess = ne_session_create(...);
ne_set_useragent(sess, "MyApplication/2.1");
Disable use of persistent connections:
ne_session *sess = ne_session_create(...);
ne_set_persist(sess, 0);
Set a 30 second read timeout:
ne_session *sess = ne_session_create(...);
ne_set_read_timeout(sess, 30);