Package org.apache.catalina.core
Class ApplicationPushBuilder
- java.lang.Object
-
- org.apache.catalina.core.ApplicationPushBuilder
-
- All Implemented Interfaces:
PushBuilder
public class ApplicationPushBuilder extends Object implements PushBuilder
-
-
Constructor Summary
Constructors Constructor Description ApplicationPushBuilder(Request catalinaRequest, HttpServletRequest request)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PushBuilderaddHeader(String name, String value)Adds an HTTP header to the request.StringgetHeader(String name)Obtain a value for the given HTTP header.Set<String>getHeaderNames()StringgetMethod()Obtain the name of the HTTP method that will be used for push requests generated by future calls topush().StringgetPath()Obtain the path that will be used for the push request that will be generated by the next call topush().StringgetQueryString()Obtain the query string that will be used for push requests generated by future calls topush().StringgetSessionId()Obtain the session ID that will be used for push requests generated by future calls topush().PushBuildermethod(String method)Specify the HTTP method to use for the push request.PushBuilderpath(String path)Sets the URI path to be used for the push request.voidpush()Generates the push request and sends it to the client unless pushes are not available for some reason.PushBuilderqueryString(String queryString)Specifies the query string to use in subsequent push requests generated by a call toPushBuilder.push().PushBuilderremoveHeader(String name)Removes an HTTP header from the request.PushBuildersessionId(String sessionId)Specifies the session ID to use in subsequent push requests generated by a call toPushBuilder.push().PushBuildersetHeader(String name, String value)Sets an HTTP header on the request.
-
-
-
Constructor Detail
-
ApplicationPushBuilder
public ApplicationPushBuilder(Request catalinaRequest, HttpServletRequest request)
-
-
Method Detail
-
path
public PushBuilder path(String path)
Description copied from interface:jakarta.servlet.http.PushBuilderSets the URI path to be used for the push request. This must be called before every call toPushBuilder.push(). If the path includes a query string, the query string will be appended to the existing query string (if any) and no de-duplication will occur.- Specified by:
pathin interfacePushBuilder- Parameters:
path- Paths beginning with '/' are treated as absolute paths. All other paths are treated as relative to the context path of the request used to create this builder instance. The path may include a query string.- Returns:
- This builder instance
-
getPath
public String getPath()
Description copied from interface:jakarta.servlet.http.PushBuilderObtain the path that will be used for the push request that will be generated by the next call topush().- Specified by:
getPathin interfacePushBuilder- Returns:
- The path value that will be associated with the next push request
-
method
public PushBuilder method(String method)
Description copied from interface:jakarta.servlet.http.PushBuilderSpecify the HTTP method to use for the push request.- Specified by:
methodin interfacePushBuilder- Parameters:
method- The method to use for the push request- Returns:
- This builder instance
-
getMethod
public String getMethod()
Description copied from interface:jakarta.servlet.http.PushBuilderObtain the name of the HTTP method that will be used for push requests generated by future calls topush().- Specified by:
getMethodin interfacePushBuilder- Returns:
- The HTTP method to be used for future push requests
-
queryString
public PushBuilder queryString(String queryString)
Description copied from interface:jakarta.servlet.http.PushBuilderSpecifies the query string to use in subsequent push requests generated by a call toPushBuilder.push(). This will be appended to any query string specified in the call toPushBuilder.path(String).- Specified by:
queryStringin interfacePushBuilder- Parameters:
queryString- The query string to use to generate push requests- Returns:
- This builder instance
-
getQueryString
public String getQueryString()
Description copied from interface:jakarta.servlet.http.PushBuilderObtain the query string that will be used for push requests generated by future calls topush().- Specified by:
getQueryStringin interfacePushBuilder- Returns:
- The query string that will be appended to push requests.
-
sessionId
public PushBuilder sessionId(String sessionId)
Description copied from interface:jakarta.servlet.http.PushBuilderSpecifies the session ID to use in subsequent push requests generated by a call toPushBuilder.push(). The session ID will be presented the same way as it is on the original request (cookie or URL parameter). The default is determined in the following order:- the requested session ID for the originating request
- the session ID generated in the originated request
null
- Specified by:
sessionIdin interfacePushBuilder- Parameters:
sessionId- The session ID to use to generate push requests- Returns:
- This builder instance
-
getSessionId
public String getSessionId()
Description copied from interface:jakarta.servlet.http.PushBuilderObtain the session ID that will be used for push requests generated by future calls topush().- Specified by:
getSessionIdin interfacePushBuilder- Returns:
- The session that will be used for push requests.
-
addHeader
public PushBuilder addHeader(String name, String value)
Description copied from interface:jakarta.servlet.http.PushBuilderAdds an HTTP header to the request.- Specified by:
addHeaderin interfacePushBuilder- Parameters:
name- The name of the header to addvalue- The value of the header to add- Returns:
- This builder instance
-
setHeader
public PushBuilder setHeader(String name, String value)
Description copied from interface:jakarta.servlet.http.PushBuilderSets an HTTP header on the request. Any existing headers of the same name are first remove.- Specified by:
setHeaderin interfacePushBuilder- Parameters:
name- The name of the header to setvalue- The value of the header to set- Returns:
- This builder instance
-
removeHeader
public PushBuilder removeHeader(String name)
Description copied from interface:jakarta.servlet.http.PushBuilderRemoves an HTTP header from the request.- Specified by:
removeHeaderin interfacePushBuilder- Parameters:
name- The name of the header to remove- Returns:
- This builder instance
-
getHeaderNames
public Set<String> getHeaderNames()
- Specified by:
getHeaderNamesin interfacePushBuilder- Returns:
- The current set of names of HTTP headers to be used the next time
push()is called.
-
getHeader
public String getHeader(String name)
Description copied from interface:jakarta.servlet.http.PushBuilderObtain a value for the given HTTP header. TODO Servlet 4.0 Clarify the behaviour of this method- Specified by:
getHeaderin interfacePushBuilder- Parameters:
name- The name of the header whose value is to be returned- Returns:
- The value of the given header. If multiple values are defined then any may be returned
-
push
public void push()
Description copied from interface:jakarta.servlet.http.PushBuilderGenerates the push request and sends it to the client unless pushes are not available for some reason. After calling this method the following fields are set tonull:path- conditional request headers (
if-none-matchandif-modified-since)
- Specified by:
pushin interfacePushBuilder
-
-