NE_STATUS(3) neon API reference NE_STATUS(3)NAME
ne_status - HTTP status structure
SYNOPSIS
#include <ne_utils.h>
typedef struct {
int major_version, minor_version;
int code, klass;
const char *reason_phrase;
} ne_status;
DESCRIPTION
An ne_status type represents an HTTP response status; used in response messages giving a result of request. The major_version and
minor_version fields give the HTTP version supported by the server issuing the response. The code field gives the status code of the result
(lying between 100 and 999 inclusive), and the klass field gives the class, which is equal to the most significant digit of the status.
There are five classes of HTTP status code defined by RFC2616:
1xx Informational response.
2xx Success: the operation was successful
3xx Redirection
4xx Client error: the request made was incorrect in some manner.
5xx Server error
SEE ALSO ne_get_status(3),
AUTHOR
Joe Orton <neon@webdav.org>.
neon 0.23.5 8 October 2002 NE_STATUS(3)
Check Out this Related Man Page
NE_SET_USERAGENT(3) neon API reference NE_SET_USERAGENT(3)NAME
ne_set_useragent, ne_set_persist, ne_set_read_timeout, ne_set_expect100 - common settings 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);
void ne_set_expect100 (ne_session *session, int flag);
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.
An extension introduced in the HTTP/1.1 specification was the use of the Expect: 100-continue header. This header allows an HTTP client to
be informed of the expected response status before the request message body is sent: a useful optimisation for situations where a large
message body is to be sent. The ne_set_expect100 function can be used to enable this feature by passing the flag parameter as any non-zero
integer.
Warning
Unfortunately, if this header is sent to a server which is not fully compliant with the HTTP/1.1 specification, a deadlock occurs
resulting in a temporarily "hung" connection. neon will recover gracefully from this situation, but only after a 15 second timeout.
It is highly recommended that this option is not enabled unless it is known that the server in use correctly implements Expect:
100-continue support.
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);
AUTHOR
Joe Orton <neon@webdav.org>.
neon 0.23.5 8 October 2002 NE_SET_USERAGENT(3)