Return-Path: Delivered-To: apmail-incubator-river-commits-archive@minotaur.apache.org Received: (qmail 69687 invoked from network); 24 Dec 2010 21:03:11 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 24 Dec 2010 21:03:11 -0000 Received: (qmail 71615 invoked by uid 500); 24 Dec 2010 21:03:11 -0000 Delivered-To: apmail-incubator-river-commits-archive@incubator.apache.org Received: (qmail 71592 invoked by uid 500); 24 Dec 2010 21:03:11 -0000 Mailing-List: contact river-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: river-dev@incubator.apache.org Delivered-To: mailing list river-commits@incubator.apache.org Received: (qmail 71578 invoked by uid 99); 24 Dec 2010 21:03:11 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 24 Dec 2010 21:03:11 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 24 Dec 2010 21:03:02 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 7DE3D2388BF1; Fri, 24 Dec 2010 21:02:39 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1052634 [2/3] - in /incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/http: HttpEndpoint.html HttpServerEndpoint.html class-use/ package-frame.html package-summary.html package-tree.html package-use.html Date: Fri, 24 Dec 2010 21:02:39 -0000 To: river-commits@incubator.apache.org From: sijskes@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20101224210239.7DE3D2388BF1@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Added: incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/http/HttpServerEndpoint.html URL: http://svn.apache.org/viewvc/incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/http/HttpServerEndpoint.html?rev=1052634&view=auto ============================================================================== --- incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/http/HttpServerEndpoint.html (added) +++ incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/http/HttpServerEndpoint.html Fri Dec 24 21:02:38 2010 @@ -0,0 +1,896 @@ + + + + + + +HttpServerEndpoint (Apache River v2.1.2-SNAPSHOT API Documentation) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +net.jini.jeri.http +
+Class HttpServerEndpoint

+
+java.lang.Object
+  extended by net.jini.jeri.http.HttpServerEndpoint
+
+
+
All Implemented Interfaces:
ServerCapabilities, ServerEndpoint
+
+
+
+
public final class HttpServerEndpoint
extends Object
implements ServerEndpoint
+ + +

+An implementation of the ServerEndpoint abstraction that + uses HTTP messages sent over TCP sockets (instances of ServerSocket) for the underlying communication mechanism. + +

HttpServerEndpoint instances contain a host name + and a TCP port number, as well as an optional ServerSocketFactory for customizing the type of + ServerSocket to use and an optional SocketFactory for customizing the type of Socket that + client endpoints will use. The port number is the local TCP port + to bind to when listening for incoming socket connections. If the + port number is zero, then each listen operation will bind to a free + (non-zero) port, which will be the port number contained in the + resulting HttpEndpoint. The host name contained in an + HttpServerEndpoint controls the host name that will be + contained in the HttpEndpoint instances produced when + enumerateListenEndpoints is + invoked to listen on the HttpServerEndpoint (this host + name does not affect the behavior of listen operations themselves). + If the host name in an HttpServerEndpoint is + null, then the host name in the + HttpEndpoint instances that it produces will be the IP + address string obtained from InetAddress.getLocalHost when enumerateListenEndpoints is invoked. + +

HttpServerEndpoint instances map incoming HTTP + messages to requests; when possible, underlying TCP connections are + persisted to accommodate multiple non-overlapping incoming + requests. Inbound request data is received as the + entity-body of an HTTP POST request; outbound response + data is sent as the entity-body of the corresponding + HTTP return message. For information on HTTP, refer to RFC 2616. Note that + providing socket factories that produce SSL sockets does not result + in endpoints that are fully HTTPS capable. + +

A ServerSocketFactory used with an + HttpServerEndpoint must implement Object.equals to obey the guidelines that are specified for + equals methods of ListenEndpoint + instances. A SocketFactory used with a + HttpServerEndpoint should be serializable and must + implement Object.equals to obey the guidelines that + are specified for equals methods of Endpoint + instances. +

+ +

+

+
Since:
+
2.0
+
Author:
+
Sun Microsystems, Inc.
+
See Also:
HttpEndpoint
+
+ +

+ + + + + + + +
+Nested Class Summary
+ + + + + + + +
Nested classes/interfaces inherited from interface net.jini.jeri.ServerEndpoint
ServerEndpoint.ListenContext, ServerEndpoint.ListenCookie, ServerEndpoint.ListenEndpoint, ServerEndpoint.ListenHandle
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ InvocationConstraintscheckConstraints(InvocationConstraints constraints) + +
+          Verifies that this instance supports the transport layer + aspects of all of the specified requirements (both in general + and in the current security context), and returns the + requirements that must be at least partially implemented by + higher layers in order to fully satisfy all of the specified + requirements.
+ EndpointenumerateListenEndpoints(ServerEndpoint.ListenContext listenContext) + +
+          Passes the ListenEndpoint for this HttpServerEndpoint to + listenContext, which will ensure an active listen + operation on the endpoint, and returns an + HttpEndpoint instance corresponding to the listen + operation chosen by listenContext.
+ booleanequals(Object obj) + +
+          Compares the specified object with this + HttpServerEndpoint for equality.
+ StringgetHost() + +
+          Returns the host name that will be used in + HttpEndpoint instances produced by listening on + this HttpServerEndpoint, or null if + the IP address string obtained from InetAddress.getLocalHost will be + used.
+static HttpServerEndpointgetInstance(int port) + +
+          Returns an HttpServerEndpoint instance for the + given TCP port number.
+static HttpServerEndpointgetInstance(String host, + int port) + +
+          Returns an HttpServerEndpoint instance for the given + host name and TCP port number.
+static HttpServerEndpointgetInstance(String host, + int port, + SocketFactory sf, + ServerSocketFactory ssf) + +
+          Returns an HttpServerEndpoint instance for the + given host name and TCP port number that contains the given + SocketFactory and + ServerSocketFactory.
+ intgetPort() + +
+          Returns the TCP port that this HttpServerEndpoint + listens on.
+ ServerSocketFactorygetServerSocketFactory() + +
+          Returns the ServerSocketFactory that this endpoint + uses to create ServerSocket objects.
+ SocketFactorygetSocketFactory() + +
+          Returns the SocketFactory that + HttpEndpoint objects produced by listening on this + HttpServerEndpoint will use to create + Socket objects.
+ inthashCode() + +
+          Returns the hash code value for this + HttpServerEndpoint.
+ StringtoString() + +
+          Returns a string representation of this + HttpServerEndpoint.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Method Detail
+ +

+getInstance

+
+public static HttpServerEndpoint getInstance(int port)
+
+
Returns an HttpServerEndpoint instance for the + given TCP port number. + +

The host name contained in the returned + HttpServerEndpoint will be null, so + that when its enumerateListenEndpoints method produces an HttpEndpoint, the HttpEndpoint's host name will + be the IP address string obtained from InetAddress.getLocalHost. + +

The ServerSocketFactory contained in the + returned HttpServerEndpoint will be + null, indicating that this endpoint will create + ServerSocket objects directly. The + SocketFactory contained in the returned + HttpServerEndpoint will also be null. +

+

+
+
+
+
Parameters:
port - the TCP port on the local host to listen on +
Returns:
an HttpServerEndpoint instance +
Throws: +
IllegalArgumentException - if the port number is out of + the range 0 to 65535 (inclusive)
+
+
+
+ +

+getInstance

+
+public static HttpServerEndpoint getInstance(String host,
+                                             int port)
+
+
Returns an HttpServerEndpoint instance for the given + host name and TCP port number. + +

If host is null, then when the + returned HttpServerEndpoint's enumerateListenEndpoints method + produces an HttpEndpoint, the + HttpEndpoint's host name will be the IP address + string obtained from InetAddress.getLocalHost. + +

The ServerSocketFactory contained in the + returned HttpServerEndpoint will be + null, indicating that this endpoint will create + ServerSocket objects directly. The + SocketFactory contained in the returned + HttpServerEndpoint will also be null. +

+

+
+
+
+
Parameters:
host - the host name to be used in + HttpEndpoint instances produced by listening on + the returned HttpServerEndpoint, or + null
port - the TCP port on the local host to listen on +
Returns:
an HttpServerEndpoint instance +
Throws: +
IllegalArgumentException - if the port number is out of + the range 0 to 65535 (inclusive)
+
+
+
+ +

+getInstance

+
+public static HttpServerEndpoint getInstance(String host,
+                                             int port,
+                                             SocketFactory sf,
+                                             ServerSocketFactory ssf)
+
+
Returns an HttpServerEndpoint instance for the + given host name and TCP port number that contains the given + SocketFactory and + ServerSocketFactory. + +

If host is null, then when the + returned HttpServerEndpoint's enumerateListenEndpoints method + produces an HttpEndpoint, the + HttpEndpoint's host name will be the IP address + string obtained from InetAddress.getLocalHost. + +

If the server socket factory argument is null, + then this endpoint will create ServerSocket + objects directly. +

+

+
+
+
+
Parameters:
host - the host name to be used in + HttpEndpoint instances produced by listening on + the returned HttpServerEndpoint, or + null
port - the TCP port on the local host to listen on
sf - the SocketFactory to use for this + HttpServerEndpoint, or null
ssf - the ServerSocketFactory to use for this + HttpServerEndpoint, or null +
Returns:
an HttpServerEndpoint instance +
Throws: +
IllegalArgumentException - if the port number is out of + the range 0 to 65535 (inclusive)
+
+
+
+ +

+getHost

+
+public String getHost()
+
+
Returns the host name that will be used in + HttpEndpoint instances produced by listening on + this HttpServerEndpoint, or null if + the IP address string obtained from InetAddress.getLocalHost will be + used. +

+

+
+
+
+ +
Returns:
the host name to use in HttpEndpoint + instances produced from this object, or null
+
+
+
+ +

+getPort

+
+public int getPort()
+
+
Returns the TCP port that this HttpServerEndpoint + listens on. +

+

+
+
+
+ +
Returns:
the TCP port that this endpoint listens on
+
+
+
+ +

+getSocketFactory

+
+public SocketFactory getSocketFactory()
+
+
Returns the SocketFactory that + HttpEndpoint objects produced by listening on this + HttpServerEndpoint will use to create + Socket objects. +

+

+
+
+
+ +
Returns:
the socket factory that client-side endpoints + corresponding to this server endpoint will use to create + sockets, or null if no factory will be used
+
+
+
+ +

+getServerSocketFactory

+
+public ServerSocketFactory getServerSocketFactory()
+
+
Returns the ServerSocketFactory that this endpoint + uses to create ServerSocket objects. +

+

+
+
+
+ +
Returns:
the socket factory that this endpoint uses to create + sockets, or null if no factory is used
+
+
+
+ +

+checkConstraints

+
+public InvocationConstraints checkConstraints(InvocationConstraints constraints)
+                                       throws UnsupportedConstraintException
+
+
Verifies that this instance supports the transport layer + aspects of all of the specified requirements (both in general + and in the current security context), and returns the + requirements that must be at least partially implemented by + higher layers in order to fully satisfy all of the specified + requirements. This method may also return preferences that + must be at least partially implemented by higher layers in + order to fully satisfy some of the specified preferences. + +

For any given constraint, there must be a clear delineation + of which aspects (if any) must be implemented by the transport + layer. This method must not return a constraint (as a + requirement or a preference, directly or as an element of + another constraint) unless this instance can implement all of + those aspects. Also, this method must not return a constraint + for which all aspects must be implemented by the transport + layer. Most of the constraints in the net.jini.core.constraint package must be fully implemented by + the transport layer and thus must not be returned by this + method; the one exception is Integrity, for which the + transport layer is responsible for the data integrity aspect + and higher layers are responsible for the code integrity + aspect. + +

For any ConstraintAlternatives in the specified + constraints, this method should only return a corresponding + constraint if all of the alternatives supported by this + instance need to be at least partially implemented by higher + layers in order to be fully satisfied. + +

The constraints passed to this method may include + constraints based on relative time. +

+

+
Specified by:
checkConstraints in interface ServerCapabilities
+
+
+
Parameters:
constraints - the constraints that must be supported +
Returns:
the constraints that must be at least partially + implemented by higher layers +
Throws: +
NullPointerException - if constraints is + null +
UnsupportedConstraintException - if the transport layer + aspects of any of the specified requirements are not supported + by this instance (either in general or in the current security + context)
+
+
+
+ +

+enumerateListenEndpoints

+
+public Endpoint enumerateListenEndpoints(ServerEndpoint.ListenContext listenContext)
+                                  throws IOException
+
+
Passes the ListenEndpoint for this HttpServerEndpoint to + listenContext, which will ensure an active listen + operation on the endpoint, and returns an + HttpEndpoint instance corresponding to the listen + operation chosen by listenContext. + +

If this HttpServerEndpoint's host name is not + null, then the returned HttpEndpoint + will contain that host name. If this + HttpServerEndpoint's host name is + null, then this method invokes InetAddress.getLocalHost to obtain an + InetAddress for the local host. If + InetAddress.getLocalHost throws an UnknownHostException, this method throws an + UnknownHostException. The returned + HttpEndpoint's host name will be the string + returned by invoking getHostAddress on that InetAddress. If there is + a security manager, its checkConnect method + will be invoked with the string returned by invoking getHostName on that same + InetAddress as the host argument and + -1 as the port argument; this could result in a + SecurityException. + +

This method invokes addListenEndpoint on + listenContext once, passing a + ListenEndpoint as described below. If + addListenEndpoint throws an exception, then this + method throws that exception. Otherwise, this method returns + an HttpEndpoint instance with the host name + described above, the TCP port number bound by the listen + operation represented by the ListenHandle + returned by addListenEndpoint, and the same + SocketFactory as this + HttpServerEndpoint. + +

The ListenEndpoint passed to + addListenEndpoint represents the TCP port number + and ServerSocketFactory of this + HttpServerEndpoint. Its methods behave as + follows: + +

ListenHandle listen(RequestDispatcher): + +

+ + Listens for requests received on this endpoint's TCP port, + dispatching them to the supplied RequestDispatcher + in the form of InboundRequest instances. + +

When the implementation of this method needs to create a new + ServerSocket, it will do so by invoking one of the + createServerSocket methods that returns a bound + server socket on the contained ServerSocketFactory + if non-null, or it will create a + ServerSocket directly otherwise. + +

If there is a security manager, its checkListen method will be invoked + with this endpoint's TCP port; this could result in a + SecurityException. Furthermore, before a given + InboundRequest gets dispatched to the supplied + request dispatcher, the security manager's checkAccept method must have been + successfully invoked in the security context of this + listen invocation with the remote IP address and + port of the Socket used to receive the request. + The checkPermissions method of the dispatched + InboundRequest also performs this latter security + check. (Note that in some cases, the implementation may carry + out these security checks indirectly, such as through + invocations of ServerSocket's constructors or + accept method.) + +

Requests will be dispatched in a PrivilegedAction + wrapped by a SecurityContext obtained when this method + was invoked, with the AccessControlContext of that + SecurityContext in effect. + +

Dispatched requests will implement populateContext to populate the + supplied collection with context information representing the + request. + +

Throws IOException if an I/O exception occurs while + performing this operation, such as if the TCP port is already + in use. + +

Throws SecurityException if there is a security + manager and the invocation of its checkListen + method fails. + +

Throws NullPointerException if + requestDispatcher is null + +

+ +

void checkPermissions(): + +

+ + Verifies that the calling context has all of the security + permissions necessary to listen for requests on this endpoint. + +

If there is a security manager, its checkListen + method will be invoked with this endpoint's TCP port; this + could result in a SecurityException. + +

Throws SecurityException if there is a security + manager and the invocation of its checkListen + method fails. + +

+ +

boolean equals(Object): + +

+ + Compares the specified object with this + ListenEndpoint for equality. + +

This method returns true if and only if + +

    + +
  • the specified object is also a ListenEndpoint + produced by an HttpServerEndpoint, + +
  • the port in the specified object is equal to the port in + this object, and + +
  • either this object and the specified object both have no + ServerSocketFactory or the + ServerSocketFactory in the specified object has + the same class and is equal to the one in this object. + +
+ +
+

+

+
Specified by:
enumerateListenEndpoints in interface ServerEndpoint
+
+
+
Parameters:
listenContext - the ListenContext to pass + this HttpServerEndpoint's + ListenEndpoint to +
Returns:
the HttpEndpoint instance for sending + requests to this HttpServerEndpoint's endpoint + being listened on +
Throws: +
UnknownHostException - if this + HttpServerEndpoint's host name is + null and InetAddress.getLocalHost + throws an UnknownHostException +
IOException - if an I/O exception occurs while performing + this operation, such as if the TCP port is already in use +
SecurityException - if there is a security manager and + either the invocation of its checkListen method + fails or this HttpServerEndpoint's host name is + null and the invocation of the security manager's + checkConnect method fails +
IllegalArgumentException - if an invocation of the + addListenEndpoint method on the supplied + ListenContext returns a ListenCookie + that does not correspond to the ListenEndpoint + that was passed to it +
NullPointerException - if listenContext is + null
+
+
+
+ +

+hashCode

+
+public int hashCode()
+
+
Returns the hash code value for this + HttpServerEndpoint. +

+

+
Overrides:
hashCode in class Object
+
+
+ +
Returns:
the hash code value for this + HttpServerEndpoint
+
+
+
+ +

+equals

+
+public boolean equals(Object obj)
+
+
Compares the specified object with this + HttpServerEndpoint for equality. + +

This method returns true if and only if + +

    + +
  • the specified object is also an + HttpServerEndpoint, + +
  • the host and port in the specified object are equal to the + host and port in this object, + +
  • either this object and the specified object both have no + SocketFactory or the ServerFactory in + the specified object has the same class and is equal to the one + in this object, and + +
  • either this object and the specified object both have no + ServerSocketFactory or the + ServerSocketFactory in the specified object has + the same class and is equal to the one in this object. + +
+

+

+
Overrides:
equals in class Object
+
+
+
Parameters:
obj - the object to compare with +
Returns:
true if obj is equivalent to + this object; false otherwise
+
+
+
+ +

+toString

+
+public String toString()
+
+
Returns a string representation of this + HttpServerEndpoint. +

+

+
Overrides:
toString in class Object
+
+
+ +
Returns:
a string representation of this + HttpServerEndpoint
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright 2007, multiple authors.
Licensed under the Apache License, Version 2.0, see the NOTICE file for attributions. + + Added: incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/http/package-frame.html URL: http://svn.apache.org/viewvc/incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/http/package-frame.html?rev=1052634&view=auto ============================================================================== --- incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/http/package-frame.html (added) +++ incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/http/package-frame.html Fri Dec 24 21:02:38 2010 @@ -0,0 +1,34 @@ + + + + + + +net.jini.jeri.http (Apache River v2.1.2-SNAPSHOT API Documentation) + + + + + + + + + + + +net.jini.jeri.http + + + + +
+Classes  + +
+HttpEndpoint +
+HttpServerEndpoint
+ + + + Added: incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/http/package-summary.html URL: http://svn.apache.org/viewvc/incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/http/package-summary.html?rev=1052634&view=auto ============================================================================== --- incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/http/package-summary.html (added) +++ incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/http/package-summary.html Fri Dec 24 21:02:38 2010 @@ -0,0 +1,373 @@ + + + + + + +net.jini.jeri.http (Apache River v2.1.2-SNAPSHOT API Documentation) + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package net.jini.jeri.http +

+Provides implementations of the Endpoint and +ServerEndpoint abstractions that use HTTP +messages sent over TCP sockets as the underlying communication +mechanism. +

+See: +
+          Description +

+ + + + + + + + + + + + + +
+Class Summary
HttpEndpointAn implementation of the Endpoint abstraction that uses HTTP + messages sent over TCP sockets (instances of Socket) for the + underlying communication mechanism.
HttpServerEndpointAn implementation of the ServerEndpoint abstraction that + uses HTTP messages sent over TCP sockets (instances of ServerSocket) for the underlying communication mechanism.
+  + +

+

+Package net.jini.jeri.http Description +

+ +

+Provides implementations of the Endpoint and +ServerEndpoint abstractions that use HTTP +messages sent over TCP sockets as the underlying communication +mechanism. HttpEndpoint instances can be +used by clients to initiate calls over HTTP; each instance contains +the host name and TCP port number to which to connect, as well as an +optional SocketFactory for customizing the type of +Socket to use. HttpServerEndpoint instances are used to listen +for and receive incoming calls over HTTP; each instance contains the +name of the listening host and the number of the TCP port on which to +listen, as well as an optional ServerSocketFactory +for customizing the type of ServerSocket to use.

+ +Note that providing socket factories which produce SSL sockets does +not result in endpoints which are fully HTTPS capable. HTTPS support +is offered by the net.jini.jeri.ssl security provider. + +

HTTP mapping

+ +HttpEndpoint and HttpServerEndpoint map +OutboundRequest and +InboundRequest instances to HTTP +request/response messages: request data is transmitted as the +entity-body of an HTTP POST request, while response data is +transmitted as the entity-body of the corresponding HTTP response +message. When possible, HTTP 1.1 persistent connections and chunked transfer +coding are employed. For information on HTTP, refer to +RFC 2616. + +

HTTP proxying

+ +To determine whether or not requests should be sent through an HTTP proxy, +HttpEndpoint consults the same set of system properties used by +HttpURLConnection: +
    +
  • http.proxyHost: if specified, the value of this property is + interpreted as the host name of the HTTP proxy to use. If + http.proxyHost is not specified, then the proxyHost + system property is consulted as a fallback; if it is not specified either, + then HTTP proxying is disabled (i.e., all HTTP messages are sent directly to + the target host of the given HttpEndpoint).

    + +

  • http.proxyPort: if http.proxyHost or + proxyHost is set, then the (integer) value of + http.proxyPort system property is used as the port number on + which to connect to the HTTP proxy; if unspecified, then the + proxyPort property is consulted as a fallback. If neither + http.proxyPort nor proxyPort is specified (but + http.proxyHost or proxyHost is), then the HTTP + proxy port number defaults to 80.

    + +

  • http.nonProxyHosts: if specified, the value of this property + is interpreted as a list of host name patterns, each delimited by the '|' + character. Individual host name patterns may be literal host + names/addresses, or partial host names/addresses containing the '*' character + as a wildcard. The '*' wildcard matches arbitrary (including zero-length) + spans of characters. If http.nonProxyHosts is specified and the + name of the target host for a given outbound message matches at least one of + the patterns, then messages to that host will not be sent through the HTTP + proxy.

    +

+The values of the system properties above are resampled for each new outbound +HTTP message. + +

HTTP authentication

+ +HttpEndpoint supports both basic and digest HTTP authentication +methods, specified in RFC +2617. Like HttpURLConnection, it obtains authentication +parameters (e.g., username, password) from the Authenticator +class. + +

Constraint support

+ +HttpEndpoint and HttpServerEndpoint support +the transport layer aspects of at least the following constraints: + + + +(Note that ClientMaxPrincipal, +ClientMaxPrincipalType, ClientMinPrincipal, +ClientMinPrincipalType, ServerMinPrincipal, +DelegationAbsoluteTime, and +DelegationRelativeTime constraints are trivially +supported if ClientAuthentication.YES, +ServerAuthentication.YES, and Delegation.YES +are not supported.) +

+ +

+

+
Since:
+
2.0
+
Version:
+
2.0
+
Implementation Specifics:
+

Logging

+ +This implementation uses the Logger named +net.jini.jeri.http.client to log information at the +following levels: + +

+ +
Level Description + +
FAILED + exceptions thrown attempting to initiate a request + +
HANDLED + exceptions caught attempting to connect a socket, set + options on a client-side socket, or reuse a connection + +
FINE + client-side socket operations (create, connect, reuse, and + close) + +
+ +

This implementation uses the Logger named +net.jini.jeri.http.server to log information at the +following levels: + +

+ +
Level Description + +
WARNING + exceptions accepting on a server socket + +
HANDLED + exceptions caught setting options on a server-side socket + +
FINE + server-side socket operations (create, accept, and close) + +
+ +

System properties

+ +In addition to the HTTP proxy-related system properties listed above, this +implementation of HttpEndpoint and HttpServerEndpoint +recognizes the following system properties: +

+

    +
  • com.sun.jini.jeri.http.idleConnectionTimeout - The number of + milliseconds to retain idle client-side HTTP connections before closing + them. The default is 15000. +
  • com.sun.jini.jeri.http.idleServerConnectionTimeout - The + number of milliseconds to retain idle server-side HTTP connections before + closing them. The default is the idle client-side connection timeout (as + specified by the com.sun.jini.jeri.http.idleConnectionTimeout + system property) plus 10000. +
  • com.sun.jini.jeri.http.responseAckTimeout - The number of + milliseconds to wait for acknowledgments from + AcknowledgmentSource instances. The default is + 15000. +
  • com.sun.jini.jeri.http.disableProxyPersistentConnections - If + the value is case-insensitive equal to true, client-side + connections through the HTTP proxy are not reused across requests; + otherwise, persistent connections are maintained and reused if possible. +
  • com.sun.jini.jeri.http.pingProxyConnections - If + the value is case-insensitive equal to true, then if an + HTTP proxy is being used, ping the server endpoint to verify whether + it is alive and reachable. The ping occurs before the first request + and before each subsequent request which follows the expiration of + the ping proxy timeout period (below) following the previous ping. + When using an HTTP proxy it is often impossible to distinguish + between inability to reach the server endpoint (such as because the + server process refused a connection by the HTTP proxy) and the lack + of response from a delivered request (which might result in an + UnmarshalException). The ping increases the likelihood that the + inability to reach the server endpoint can be explicitly identified. + The default value is false, and no pings are done. +
  • com.sun.jini.jeri.http.pingProxyConnectionTimeout - The + number of milliseconds from the time a server endpoint was last + pinged before a ping will precede the next request. The default is + Long.MAX_VALUE (essentially meaning, ping only before + the first request). +
+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright 2007, multiple authors.
Licensed under the Apache License, Version 2.0, see the NOTICE file for attributions. + + Added: incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/http/package-tree.html URL: http://svn.apache.org/viewvc/incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/http/package-tree.html?rev=1052634&view=auto ============================================================================== --- incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/http/package-tree.html (added) +++ incubator/river/site/trunk/content/river/doc/api/net/jini/jeri/http/package-tree.html Fri Dec 24 21:02:38 2010 @@ -0,0 +1,151 @@ + + + + + + +net.jini.jeri.http Class Hierarchy (Apache River v2.1.2-SNAPSHOT API Documentation) + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package net.jini.jeri.http +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright 2007, multiple authors.
Licensed under the Apache License, Version 2.0, see the NOTICE file for attributions. + +