|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.google.api.client.http.UrlEncodedParser
public class UrlEncodedParser
Implements support for HTTP form content encoding parsing of type application/x-www-form-urlencoded
as specified in the HTML 4.0
Specification.
Implementation is thread-safe as long as the fields are not set directly (which is deprecated usage).
The data is parsed using parse(String, Object)
.
Sample usage:
static void setParser(HttpTransport transport) {
transport.addParser(new UrlEncodedParser());
}
Nested Class Summary | |
---|---|
static class |
UrlEncodedParser.Builder
Builder for UrlEncodedParser . |
Field Summary | |
---|---|
static String |
CONTENT_TYPE
"application/x-www-form-urlencoded" content type. |
String |
contentType
Deprecated. (scheduled to be made private final in 1.6) Use getContentType() or
UrlEncodedParser.Builder.setContentType(java.lang.String) |
boolean |
disableContentLogging
Deprecated. (scheduled to be made private final in 1.6) Use getDisableContentLogging()
or UrlEncodedParser.Builder.setDisableContentLogging(boolean) |
Constructor Summary | |
---|---|
|
UrlEncodedParser()
|
protected |
UrlEncodedParser(String contentType,
boolean disableContentLogging)
|
Method Summary | ||
---|---|---|
static UrlEncodedParser.Builder |
builder()
Returns an instance of a new builder. |
|
String |
getContentType()
Returns the content type. |
|
boolean |
getDisableContentLogging()
Returns whether to disable response content logging (unless Level.ALL is loggable which
forces all logging). |
|
|
parse(HttpResponse response,
Class<T> dataClass)
Parses the given HTTP response into a new instance of the the given data class of key/value pairs. |
|
static void |
parse(String content,
Object data)
Parses the given URL-encoded content into the given data object of data key name/value pairs, including support for repeating data key names. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String CONTENT_TYPE
"application/x-www-form-urlencoded"
content type.
@Deprecated public boolean disableContentLogging
getDisableContentLogging()
or UrlEncodedParser.Builder.setDisableContentLogging(boolean)
Level.ALL
is loggable which forces
all logging).
Useful for example if content has sensitive data such as an authentication token. Defaults to
false
.
@Deprecated public String contentType
getContentType()
or
UrlEncodedParser.Builder.setContentType(java.lang.String)
CONTENT_TYPE
.
Constructor Detail |
---|
public UrlEncodedParser()
protected UrlEncodedParser(String contentType, boolean disableContentLogging)
contentType
- content typedisableContentLogging
- whether to disable response content logging (unless
Level.ALL
is loggable which forces all logging)Method Detail |
---|
public final String getContentType()
HttpParser
getContentType
in interface HttpParser
public <T> T parse(HttpResponse response, Class<T> dataClass) throws IOException
HttpParser
How the parsing is performed is not restricted by this interface, and is instead defined by the
concrete implementation. Implementations should check
HttpResponse.isSuccessStatusCode()
to know whether they are parsing a success or error
response.
parse
in interface HttpParser
IOException
public final boolean getDisableContentLogging()
Level.ALL
is loggable which
forces all logging).
Useful for example if content has sensitive data such as an authentication token. Defaults to
false
.
public static void parse(String content, Object data)
Declared fields of a "primitive" type (as defined by Data.isPrimitive(Type)
are parsed
using Data.parsePrimitiveValue(Type, String)
where the Class
parameter is the
declared field class. Declared fields of type Collection
are used to support repeating
data key names, so each member of the collection is an additional data key value. They are
parsed the same as "primitive" fields, except that the generic type parameter of the collection
is used as the Class
parameter.
If there is no declared field for an input parameter name, it will be ignored unless the input
data
parameter is a Map
. If it is a map, the parameter value will be stored
either as a string, or as a ArrayList
<String> in the case of repeated parameters.
content
- URL-encoded content or null
to ignore contentdata
- data key name/value pairspublic static UrlEncodedParser.Builder builder()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |