ne_set_request_expect100(3) [opensolaris man page]
NE_SET_REQUEST_E(3) neon API reference NE_SET_REQUEST_E(3)NAME
ne_set_request_expect100 - function to enable Expect: 100-continue support
SYNOPSIS
#include <ne_request.h>
void ne_set_request_expect100 (ne_request *request, int flag);
DESCRIPTION
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_request_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.
SEE ALSO ne_request_create(3).
AUTHOR
Joe Orton <neon@webdav.org>.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Availability | SUNWneon |
+--------------------+-----------------+
|Interface Stability | Volatile |
+--------------------+-----------------+
NOTES
Source for Neon is available on http://opensolaris.org.
neon 0.25.5 20 January 2006 NE_SET_REQUEST_E(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)