public interface EntityTags
HttpServletResponse
.Modifier and Type | Field and Description |
---|---|
static String |
ETAG |
static String |
IF_MATCH |
static String |
IF_NONE_MATCH |
Modifier and Type | Method and Description |
---|---|
EntityTag.Builder |
builder()
Return a new instance of an
EntityTag.Builder |
EntityTag |
entityTag(HttpServletRequest request,
String headerName)
Parses an
EntityTag value from the specified header. |
EntityTag |
entityTag(String text)
This method formats a textual value into a digested, strong
EntityTag value. |
HttpServletResponse |
etag(HttpServletRequest request,
HttpServletResponse response,
HasGetMethod servlet)
Adapt a
HttpServletResponse to produce a strong "ETag"
generated from a secure digest of the response headers and body. |
boolean |
hasPrecondition(HttpServletRequest request)
Determine if the specified request is a conditional HTTP request.
|
EntityTag |
parse(CharSequence text)
Parses text into an
EntityTag value. |
void |
validatePrecondition(HttpServletRequest request,
CharSequence currentEntityTag)
Validate whether the pre-condition in the request matches the current
"ETag" value of the requested resource.
|
static final String IF_MATCH
static final String IF_NONE_MATCH
static final String ETAG
boolean hasPrecondition(HttpServletRequest request)
IF_MATCH
for a PUT,POST,PATCH or
DELETE method, and IF_NONE_MATCH
for a GET or HEAD methodrequest
- void validatePrecondition(HttpServletRequest request, CharSequence currentEntityTag)
request
- The request to be validatedcurrentEntityTag
- The current "ETag" value of the requested resourceEntityTag parse(CharSequence text)
EntityTag
value. The value must be correctly
formatted as a quoted ETag value.text
- The text value to parseIllegalArgumentException
- if the value is not correctly formattedEntityTag entityTag(String text)
EntityTag
value. This method is equivalent to:
String text = ...; EntityTags tags = ...; EntityTag tag = tags.builder().append(text).build();
text
- EntityTag
instanceEntityTag entityTag(HttpServletRequest request, String headerName)
EntityTag
value from the specified header.
If the header is "If-Match" or IF_NONE_MATCH
and the value
is *
then a null value will be returned.request
- The request to examineheaderName
- The name of the HTTP HeaderEntityTag
value or null if the header is absent or has
no valueEntityTag.Builder builder()
EntityTag.Builder
EntityTag.Builder
instanceHttpServletResponse etag(HttpServletRequest request, HttpServletResponse response, HasGetMethod servlet) throws ServletException, IOException
HttpServletResponse
to produce a strong "ETag"
generated from a secure digest of the response headers and body.
This method also performs any validation This provides a simple mechanism
to produce a guaranteed correct "ETag", however the simplicity has
some costs:
HasGetMethod
interface and pass a reference to themselves as the
final parameter.request
- The request being processedresponse
- The response object provided by the servlet containerservlet
- The servlet which will produce the responseHttpServletResponse
with a strong "ETag" headerServletException
IOException
HasGetMethod
Oracle REST Data Services Plugin API version: 3.0.0.65.09.35 Copyright © 2015 Oracle Corp. All Rights Reserved.