|
GWT 2.7.0 | |||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.google.gwt.user.server.rpc.RPCServletUtils
public class RPCServletUtils
Utility class containing helper methods used by servlets that integrate with the RPC system.
Field Summary | |
---|---|
(package private) static int |
BUFFER_SIZE
Package protected for use in tests. |
static java.nio.charset.Charset |
CHARSET_UTF8
The UTF-8 Charset. |
static java.lang.String |
CHARSET_UTF8_NAME
|
Method Summary | |
---|---|
static boolean |
acceptsGzipEncoding(javax.servlet.http.HttpServletRequest request)
Returns true if the HttpServletRequest accepts Gzip
encoding. |
static boolean |
exceedsUncompressedContentLengthLimit(java.lang.String content)
Returns true if the response content's estimated UTF-8 byte
length exceeds 256 bytes. |
static java.nio.charset.Charset |
getCharset(java.lang.String encoding)
Get the Charset for a named character set. |
static boolean |
isExpectedException(java.lang.reflect.Method serviceIntfMethod,
java.lang.Throwable cause)
Returns true if the Method definition on
the service is specified to throw the exception contained in the
InvocationTargetException or false otherwise. |
static java.lang.String |
readContent(javax.servlet.http.HttpServletRequest request,
java.lang.String expectedContentType,
java.lang.String expectedCharSet)
Returns the content of an HttpServletRequest by decoding it using
expectedCharSet , or UTF-8 if
expectedCharSet is null. |
static java.lang.String |
readContentAsGwtRpc(javax.servlet.http.HttpServletRequest request)
Returns the content of an HttpServletRequest , after verifying a
gwt/x-gwt-rpc; charset=utf-8 content type. |
static java.lang.String |
readContentAsUtf8(javax.servlet.http.HttpServletRequest request)
Deprecated. Use readContent(javax.servlet.http.HttpServletRequest, java.lang.String, java.lang.String) instead. |
static java.lang.String |
readContentAsUtf8(javax.servlet.http.HttpServletRequest request,
boolean checkHeaders)
Deprecated. Use readContent(javax.servlet.http.HttpServletRequest, java.lang.String, java.lang.String) instead. |
static void |
setGzipEncodingHeader(javax.servlet.http.HttpServletResponse response)
Sets the correct header to indicate that a response is gzipped. |
static boolean |
shouldGzipResponseContent(javax.servlet.http.HttpServletRequest request,
java.lang.String responseContent)
Returns true if the request accepts gzip encoding and the
response content's estimated UTF-8 byte length exceeds 256 bytes. |
static void |
writeResponse(javax.servlet.ServletContext servletContext,
javax.servlet.http.HttpServletResponse response,
java.lang.String responseContent,
boolean gzipResponse)
Write the response content into the HttpServletResponse . |
static void |
writeResponseForUnexpectedFailure(javax.servlet.ServletContext servletContext,
javax.servlet.http.HttpServletResponse response,
java.lang.Throwable failure)
Called when the servlet itself has a problem, rather than the invoked third-party method. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String CHARSET_UTF8_NAME
public static final java.nio.charset.Charset CHARSET_UTF8
static final int BUFFER_SIZE
Method Detail |
---|
public static boolean acceptsGzipEncoding(javax.servlet.http.HttpServletRequest request)
true
if the HttpServletRequest
accepts Gzip
encoding. This is done by checking that the accept-encoding header
specifies gzip as a supported encoding.
request
- the request instance to test for gzip encoding acceptance
true
if the HttpServletRequest
accepts Gzip
encodingpublic static boolean exceedsUncompressedContentLengthLimit(java.lang.String content)
true
if the response content's estimated UTF-8 byte
length exceeds 256 bytes.
content
- the contents of the response
true
if the response content's estimated UTF-8 byte
length exceeds 256 bytespublic static java.nio.charset.Charset getCharset(java.lang.String encoding)
encoding
- the name of the Charset to get. If this is null
the default UTF-8 character set will be returned.
Charset#forName(String)}
public static boolean isExpectedException(java.lang.reflect.Method serviceIntfMethod, java.lang.Throwable cause)
Method
definition on
the service is specified to throw the exception contained in the
InvocationTargetException or false otherwise. NOTE we do not check that the
type is serializable here. We assume that it must be otherwise the
application would never have been allowed to run.
serviceIntfMethod
- the method from the RPC requestcause
- the exception that the method threw
public static java.lang.String readContent(javax.servlet.http.HttpServletRequest request, java.lang.String expectedContentType, java.lang.String expectedCharSet) throws java.io.IOException, javax.servlet.ServletException
HttpServletRequest
by decoding it using
expectedCharSet
, or UTF-8
if
expectedCharSet
is null.
- Parameters:
request
- the servlet request whose content we want to readexpectedContentType
- the expected content (i.e. 'type/subtype' only)
in the Content-Type request header, or null
if no
validation is to be performed, and you are willing to allow for
some types of cross type security attacksexpectedCharSet
- the expected request charset, or null
if no charset validation is to be performed and UTF-8
should be assumed
- Returns:
- the content of an
HttpServletRequest
by decoding it using
expectedCharSet
, or UTF-8
if
expectedCharSet
is null
- Throws:
java.io.IOException
- if the request's input stream cannot be accessed, read
from or closed
javax.servlet.ServletException
- if the request's content type does not
equal the supplied expectedContentType
or
expectedCharSet
readContentAsGwtRpc
public static java.lang.String readContentAsGwtRpc(javax.servlet.http.HttpServletRequest request)
throws java.io.IOException,
javax.servlet.ServletException
- Returns the content of an
HttpServletRequest
, after verifying a
gwt/x-gwt-rpc; charset=utf-8
content type.
- Parameters:
request
- the servlet request whose content we want to read
- Returns:
- the content of an
HttpServletRequest
by decoding it using
UTF-8
- Throws:
java.io.IOException
- if the request's input stream cannot be accessed, read
from or closed
javax.servlet.ServletException
- if the request's content type is not
gwt/x-gwt-rpc; charset=utf-8
, ignoring case
readContentAsUtf8
@Deprecated
public static java.lang.String readContentAsUtf8(javax.servlet.http.HttpServletRequest request)
throws java.io.IOException,
javax.servlet.ServletException
- Deprecated. Use
readContent(javax.servlet.http.HttpServletRequest, java.lang.String, java.lang.String)
instead.
- Returns the content of an
HttpServletRequest
by decoding it using
the UTF-8 charset.
- Parameters:
request
- the servlet request whose content we want to read
- Returns:
- the content of an
HttpServletRequest
by decoding it using
the UTF-8 charset
- Throws:
java.io.IOException
- if the requests input stream cannot be accessed, read
from or closed
javax.servlet.ServletException
- if the content length of the request is not
specified of if the request's content type is not
'text/x-gwt-rpc' and 'charset=utf-8'
readContentAsUtf8
@Deprecated
public static java.lang.String readContentAsUtf8(javax.servlet.http.HttpServletRequest request,
boolean checkHeaders)
throws java.io.IOException,
javax.servlet.ServletException
- Deprecated. Use
readContent(javax.servlet.http.HttpServletRequest, java.lang.String, java.lang.String)
instead.
- Returns the content of an
HttpServletRequest
by decoding it using
the UTF-8 charset.
- Parameters:
request
- the servlet request whose content we want to readcheckHeaders
- Specify 'true' to check the Content-Type header to see
that it matches the expected value 'text/x-gwt-rpc' and the
content encoding is UTF-8. Disabling this check may allow some
types of cross type security attacks.
- Returns:
- the content of an
HttpServletRequest
by decoding it using
the UTF-8 charset
- Throws:
java.io.IOException
- if the requests input stream cannot be accessed, read
from or closed
javax.servlet.ServletException
- if the content length of the request is not
specified of if the request's content type is not
'text/x-gwt-rpc' and 'charset=utf-8'
setGzipEncodingHeader
public static void setGzipEncodingHeader(javax.servlet.http.HttpServletResponse response)
- Sets the correct header to indicate that a response is gzipped.
shouldGzipResponseContent
public static boolean shouldGzipResponseContent(javax.servlet.http.HttpServletRequest request,
java.lang.String responseContent)
- Returns
true
if the request accepts gzip encoding and the
response content's estimated UTF-8 byte length exceeds 256 bytes.
- Parameters:
request
- the request associated with the response contentresponseContent
- a string that will be
- Returns:
true
if the request accepts gzip encoding and the
response content's estimated UTF-8 byte length exceeds 256 bytes
writeResponse
public static void writeResponse(javax.servlet.ServletContext servletContext,
javax.servlet.http.HttpServletResponse response,
java.lang.String responseContent,
boolean gzipResponse)
throws java.io.IOException
- Write the response content into the
HttpServletResponse
. If
gzipResponse
is true
, the response content will
be gzipped prior to being written into the response.
- Parameters:
servletContext
- servlet context for this responseresponse
- response instanceresponseContent
- a string containing the response contentgzipResponse
- if true
the response content will be gzip
encoded before being written into the response
- Throws:
java.io.IOException
- if reading, writing, or closing the response's output
stream fails
writeResponseForUnexpectedFailure
public static void writeResponseForUnexpectedFailure(javax.servlet.ServletContext servletContext,
javax.servlet.http.HttpServletResponse response,
java.lang.Throwable failure)
- Called when the servlet itself has a problem, rather than the invoked
third-party method. It writes a simple 500 message back to the client.
- Parameters:
servletContext
- response
- failure
-
Overview
Package
Class
Use
Deprecated
Help
GWT 2.7.0
PREV CLASS
NEXT CLASS
FRAMES
NO FRAMES
All Classes
SUMMARY: NESTED | FIELD | CONSTR | METHOD
DETAIL: FIELD | CONSTR | METHOD