blob: 0254f09704bdd0c5c2ebb76a029ee4fbb0176b85 [file] [log] [blame]
#!/usr/bin/env python
#
# Copyright 2007 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
from google.net.proto import ProtocolBuffer
import array
import dummy_thread as thread
__pychecker__ = """maxreturns=0 maxbranches=0 no-callinit
unusednames=printElemNumber,debug_strs no-special"""
class URLFetchServiceError(ProtocolBuffer.ProtocolMessage):
OK = 0
INVALID_URL = 1
FETCH_ERROR = 2
UNSPECIFIED_ERROR = 3
RESPONSE_TOO_LARGE = 4
DEADLINE_EXCEEDED = 5
_ErrorCode_NAMES = {
0: "OK",
1: "INVALID_URL",
2: "FETCH_ERROR",
3: "UNSPECIFIED_ERROR",
4: "RESPONSE_TOO_LARGE",
5: "DEADLINE_EXCEEDED",
}
def ErrorCode_Name(cls, x): return cls._ErrorCode_NAMES.get(x, "")
ErrorCode_Name = classmethod(ErrorCode_Name)
def __init__(self, contents=None):
pass
if contents is not None: self.MergeFromString(contents)
def MergeFrom(self, x):
assert x is not self
def Equals(self, x):
if x is self: return 1
return 1
def IsInitialized(self, debug_strs=None):
initialized = 1
return initialized
def ByteSize(self):
n = 0
return n + 0
def Clear(self):
pass
def OutputUnchecked(self, out):
pass
def TryMerge(self, d):
while d.avail() > 0:
tt = d.getVarInt32()
if (tt == 0): raise ProtocolBuffer.ProtocolBufferDecodeError
d.skipData(tt)
def __str__(self, prefix="", printElemNumber=0):
res=""
return res
def _BuildTagLookupTable(sparse, maxtag, default=None):
return tuple([sparse.get(i, default) for i in xrange(0, 1+maxtag)])
_TEXT = _BuildTagLookupTable({
0: "ErrorCode",
}, 0)
_TYPES = _BuildTagLookupTable({
0: ProtocolBuffer.Encoder.NUMERIC,
}, 0, ProtocolBuffer.Encoder.MAX_TYPE)
_STYLE = """"""
_STYLE_CONTENT_TYPE = """"""
class URLFetchRequest_Header(ProtocolBuffer.ProtocolMessage):
has_key_ = 0
key_ = ""
has_value_ = 0
value_ = ""
def __init__(self, contents=None):
if contents is not None: self.MergeFromString(contents)
def key(self): return self.key_
def set_key(self, x):
self.has_key_ = 1
self.key_ = x
def clear_key(self):
if self.has_key_:
self.has_key_ = 0
self.key_ = ""
def has_key(self): return self.has_key_
def value(self): return self.value_
def set_value(self, x):
self.has_value_ = 1
self.value_ = x
def clear_value(self):
if self.has_value_:
self.has_value_ = 0
self.value_ = ""
def has_value(self): return self.has_value_
def MergeFrom(self, x):
assert x is not self
if (x.has_key()): self.set_key(x.key())
if (x.has_value()): self.set_value(x.value())
def Equals(self, x):
if x is self: return 1
if self.has_key_ != x.has_key_: return 0
if self.has_key_ and self.key_ != x.key_: return 0
if self.has_value_ != x.has_value_: return 0
if self.has_value_ and self.value_ != x.value_: return 0
return 1
def IsInitialized(self, debug_strs=None):
initialized = 1
if (not self.has_key_):
initialized = 0
if debug_strs is not None:
debug_strs.append('Required field: key not set.')
if (not self.has_value_):
initialized = 0
if debug_strs is not None:
debug_strs.append('Required field: value not set.')
return initialized
def ByteSize(self):
n = 0
n += self.lengthString(len(self.key_))
n += self.lengthString(len(self.value_))
return n + 2
def Clear(self):
self.clear_key()
self.clear_value()
def OutputUnchecked(self, out):
out.putVarInt32(34)
out.putPrefixedString(self.key_)
out.putVarInt32(42)
out.putPrefixedString(self.value_)
def TryMerge(self, d):
while 1:
tt = d.getVarInt32()
if tt == 28: break
if tt == 34:
self.set_key(d.getPrefixedString())
continue
if tt == 42:
self.set_value(d.getPrefixedString())
continue
if (tt == 0): raise ProtocolBuffer.ProtocolBufferDecodeError
d.skipData(tt)
def __str__(self, prefix="", printElemNumber=0):
res=""
if self.has_key_: res+=prefix+("Key: %s\n" % self.DebugFormatString(self.key_))
if self.has_value_: res+=prefix+("Value: %s\n" % self.DebugFormatString(self.value_))
return res
class URLFetchRequest(ProtocolBuffer.ProtocolMessage):
GET = 1
POST = 2
HEAD = 3
PUT = 4
DELETE = 5
_RequestMethod_NAMES = {
1: "GET",
2: "POST",
3: "HEAD",
4: "PUT",
5: "DELETE",
}
def RequestMethod_Name(cls, x): return cls._RequestMethod_NAMES.get(x, "")
RequestMethod_Name = classmethod(RequestMethod_Name)
has_method_ = 0
method_ = 0
has_url_ = 0
url_ = ""
has_payload_ = 0
payload_ = ""
has_followredirects_ = 0
followredirects_ = 1
has_deadline_ = 0
deadline_ = 0.0
def __init__(self, contents=None):
self.header_ = []
if contents is not None: self.MergeFromString(contents)
def method(self): return self.method_
def set_method(self, x):
self.has_method_ = 1
self.method_ = x
def clear_method(self):
if self.has_method_:
self.has_method_ = 0
self.method_ = 0
def has_method(self): return self.has_method_
def url(self): return self.url_
def set_url(self, x):
self.has_url_ = 1
self.url_ = x
def clear_url(self):
if self.has_url_:
self.has_url_ = 0
self.url_ = ""
def has_url(self): return self.has_url_
def header_size(self): return len(self.header_)
def header_list(self): return self.header_
def header(self, i):
return self.header_[i]
def mutable_header(self, i):
return self.header_[i]
def add_header(self):
x = URLFetchRequest_Header()
self.header_.append(x)
return x
def clear_header(self):
self.header_ = []
def payload(self): return self.payload_
def set_payload(self, x):
self.has_payload_ = 1
self.payload_ = x
def clear_payload(self):
if self.has_payload_:
self.has_payload_ = 0
self.payload_ = ""
def has_payload(self): return self.has_payload_
def followredirects(self): return self.followredirects_
def set_followredirects(self, x):
self.has_followredirects_ = 1
self.followredirects_ = x
def clear_followredirects(self):
if self.has_followredirects_:
self.has_followredirects_ = 0
self.followredirects_ = 1
def has_followredirects(self): return self.has_followredirects_
def deadline(self): return self.deadline_
def set_deadline(self, x):
self.has_deadline_ = 1
self.deadline_ = x
def clear_deadline(self):
if self.has_deadline_:
self.has_deadline_ = 0
self.deadline_ = 0.0
def has_deadline(self): return self.has_deadline_
def MergeFrom(self, x):
assert x is not self
if (x.has_method()): self.set_method(x.method())
if (x.has_url()): self.set_url(x.url())
for i in xrange(x.header_size()): self.add_header().CopyFrom(x.header(i))
if (x.has_payload()): self.set_payload(x.payload())
if (x.has_followredirects()): self.set_followredirects(x.followredirects())
if (x.has_deadline()): self.set_deadline(x.deadline())
def Equals(self, x):
if x is self: return 1
if self.has_method_ != x.has_method_: return 0
if self.has_method_ and self.method_ != x.method_: return 0
if self.has_url_ != x.has_url_: return 0
if self.has_url_ and self.url_ != x.url_: return 0
if len(self.header_) != len(x.header_): return 0
for e1, e2 in zip(self.header_, x.header_):
if e1 != e2: return 0
if self.has_payload_ != x.has_payload_: return 0
if self.has_payload_ and self.payload_ != x.payload_: return 0
if self.has_followredirects_ != x.has_followredirects_: return 0
if self.has_followredirects_ and self.followredirects_ != x.followredirects_: return 0
if self.has_deadline_ != x.has_deadline_: return 0
if self.has_deadline_ and self.deadline_ != x.deadline_: return 0
return 1
def IsInitialized(self, debug_strs=None):
initialized = 1
if (not self.has_method_):
initialized = 0
if debug_strs is not None:
debug_strs.append('Required field: method not set.')
if (not self.has_url_):
initialized = 0
if debug_strs is not None:
debug_strs.append('Required field: url not set.')
for p in self.header_:
if not p.IsInitialized(debug_strs): initialized=0
return initialized
def ByteSize(self):
n = 0
n += self.lengthVarInt64(self.method_)
n += self.lengthString(len(self.url_))
n += 2 * len(self.header_)
for i in xrange(len(self.header_)): n += self.header_[i].ByteSize()
if (self.has_payload_): n += 1 + self.lengthString(len(self.payload_))
if (self.has_followredirects_): n += 2
if (self.has_deadline_): n += 9
return n + 2
def Clear(self):
self.clear_method()
self.clear_url()
self.clear_header()
self.clear_payload()
self.clear_followredirects()
self.clear_deadline()
def OutputUnchecked(self, out):
out.putVarInt32(8)
out.putVarInt32(self.method_)
out.putVarInt32(18)
out.putPrefixedString(self.url_)
for i in xrange(len(self.header_)):
out.putVarInt32(27)
self.header_[i].OutputUnchecked(out)
out.putVarInt32(28)
if (self.has_payload_):
out.putVarInt32(50)
out.putPrefixedString(self.payload_)
if (self.has_followredirects_):
out.putVarInt32(56)
out.putBoolean(self.followredirects_)
if (self.has_deadline_):
out.putVarInt32(65)
out.putDouble(self.deadline_)
def TryMerge(self, d):
while d.avail() > 0:
tt = d.getVarInt32()
if tt == 8:
self.set_method(d.getVarInt32())
continue
if tt == 18:
self.set_url(d.getPrefixedString())
continue
if tt == 27:
self.add_header().TryMerge(d)
continue
if tt == 50:
self.set_payload(d.getPrefixedString())
continue
if tt == 56:
self.set_followredirects(d.getBoolean())
continue
if tt == 65:
self.set_deadline(d.getDouble())
continue
if (tt == 0): raise ProtocolBuffer.ProtocolBufferDecodeError
d.skipData(tt)
def __str__(self, prefix="", printElemNumber=0):
res=""
if self.has_method_: res+=prefix+("Method: %s\n" % self.DebugFormatInt32(self.method_))
if self.has_url_: res+=prefix+("Url: %s\n" % self.DebugFormatString(self.url_))
cnt=0
for e in self.header_:
elm=""
if printElemNumber: elm="(%d)" % cnt
res+=prefix+("Header%s {\n" % elm)
res+=e.__str__(prefix + " ", printElemNumber)
res+=prefix+"}\n"
cnt+=1
if self.has_payload_: res+=prefix+("Payload: %s\n" % self.DebugFormatString(self.payload_))
if self.has_followredirects_: res+=prefix+("FollowRedirects: %s\n" % self.DebugFormatBool(self.followredirects_))
if self.has_deadline_: res+=prefix+("Deadline: %s\n" % self.DebugFormat(self.deadline_))
return res
def _BuildTagLookupTable(sparse, maxtag, default=None):
return tuple([sparse.get(i, default) for i in xrange(0, 1+maxtag)])
kMethod = 1
kUrl = 2
kHeaderGroup = 3
kHeaderKey = 4
kHeaderValue = 5
kPayload = 6
kFollowRedirects = 7
kDeadline = 8
_TEXT = _BuildTagLookupTable({
0: "ErrorCode",
1: "Method",
2: "Url",
3: "Header",
4: "Key",
5: "Value",
6: "Payload",
7: "FollowRedirects",
8: "Deadline",
}, 8)
_TYPES = _BuildTagLookupTable({
0: ProtocolBuffer.Encoder.NUMERIC,
1: ProtocolBuffer.Encoder.NUMERIC,
2: ProtocolBuffer.Encoder.STRING,
3: ProtocolBuffer.Encoder.STARTGROUP,
4: ProtocolBuffer.Encoder.STRING,
5: ProtocolBuffer.Encoder.STRING,
6: ProtocolBuffer.Encoder.STRING,
7: ProtocolBuffer.Encoder.NUMERIC,
8: ProtocolBuffer.Encoder.DOUBLE,
}, 8, ProtocolBuffer.Encoder.MAX_TYPE)
_STYLE = """"""
_STYLE_CONTENT_TYPE = """"""
class URLFetchResponse_Header(ProtocolBuffer.ProtocolMessage):
has_key_ = 0
key_ = ""
has_value_ = 0
value_ = ""
def __init__(self, contents=None):
if contents is not None: self.MergeFromString(contents)
def key(self): return self.key_
def set_key(self, x):
self.has_key_ = 1
self.key_ = x
def clear_key(self):
if self.has_key_:
self.has_key_ = 0
self.key_ = ""
def has_key(self): return self.has_key_
def value(self): return self.value_
def set_value(self, x):
self.has_value_ = 1
self.value_ = x
def clear_value(self):
if self.has_value_:
self.has_value_ = 0
self.value_ = ""
def has_value(self): return self.has_value_
def MergeFrom(self, x):
assert x is not self
if (x.has_key()): self.set_key(x.key())
if (x.has_value()): self.set_value(x.value())
def Equals(self, x):
if x is self: return 1
if self.has_key_ != x.has_key_: return 0
if self.has_key_ and self.key_ != x.key_: return 0
if self.has_value_ != x.has_value_: return 0
if self.has_value_ and self.value_ != x.value_: return 0
return 1
def IsInitialized(self, debug_strs=None):
initialized = 1
if (not self.has_key_):
initialized = 0
if debug_strs is not None:
debug_strs.append('Required field: key not set.')
if (not self.has_value_):
initialized = 0
if debug_strs is not None:
debug_strs.append('Required field: value not set.')
return initialized
def ByteSize(self):
n = 0
n += self.lengthString(len(self.key_))
n += self.lengthString(len(self.value_))
return n + 2
def Clear(self):
self.clear_key()
self.clear_value()
def OutputUnchecked(self, out):
out.putVarInt32(34)
out.putPrefixedString(self.key_)
out.putVarInt32(42)
out.putPrefixedString(self.value_)
def TryMerge(self, d):
while 1:
tt = d.getVarInt32()
if tt == 28: break
if tt == 34:
self.set_key(d.getPrefixedString())
continue
if tt == 42:
self.set_value(d.getPrefixedString())
continue
if (tt == 0): raise ProtocolBuffer.ProtocolBufferDecodeError
d.skipData(tt)
def __str__(self, prefix="", printElemNumber=0):
res=""
if self.has_key_: res+=prefix+("Key: %s\n" % self.DebugFormatString(self.key_))
if self.has_value_: res+=prefix+("Value: %s\n" % self.DebugFormatString(self.value_))
return res
class URLFetchResponse(ProtocolBuffer.ProtocolMessage):
has_content_ = 0
content_ = ""
has_statuscode_ = 0
statuscode_ = 0
has_contentwastruncated_ = 0
contentwastruncated_ = 0
has_externalbytessent_ = 0
externalbytessent_ = 0
has_externalbytesreceived_ = 0
externalbytesreceived_ = 0
has_finalurl_ = 0
finalurl_ = ""
def __init__(self, contents=None):
self.header_ = []
if contents is not None: self.MergeFromString(contents)
def content(self): return self.content_
def set_content(self, x):
self.has_content_ = 1
self.content_ = x
def clear_content(self):
if self.has_content_:
self.has_content_ = 0
self.content_ = ""
def has_content(self): return self.has_content_
def statuscode(self): return self.statuscode_
def set_statuscode(self, x):
self.has_statuscode_ = 1
self.statuscode_ = x
def clear_statuscode(self):
if self.has_statuscode_:
self.has_statuscode_ = 0
self.statuscode_ = 0
def has_statuscode(self): return self.has_statuscode_
def header_size(self): return len(self.header_)
def header_list(self): return self.header_
def header(self, i):
return self.header_[i]
def mutable_header(self, i):
return self.header_[i]
def add_header(self):
x = URLFetchResponse_Header()
self.header_.append(x)
return x
def clear_header(self):
self.header_ = []
def contentwastruncated(self): return self.contentwastruncated_
def set_contentwastruncated(self, x):
self.has_contentwastruncated_ = 1
self.contentwastruncated_ = x
def clear_contentwastruncated(self):
if self.has_contentwastruncated_:
self.has_contentwastruncated_ = 0
self.contentwastruncated_ = 0
def has_contentwastruncated(self): return self.has_contentwastruncated_
def externalbytessent(self): return self.externalbytessent_
def set_externalbytessent(self, x):
self.has_externalbytessent_ = 1
self.externalbytessent_ = x
def clear_externalbytessent(self):
if self.has_externalbytessent_:
self.has_externalbytessent_ = 0
self.externalbytessent_ = 0
def has_externalbytessent(self): return self.has_externalbytessent_
def externalbytesreceived(self): return self.externalbytesreceived_
def set_externalbytesreceived(self, x):
self.has_externalbytesreceived_ = 1
self.externalbytesreceived_ = x
def clear_externalbytesreceived(self):
if self.has_externalbytesreceived_:
self.has_externalbytesreceived_ = 0
self.externalbytesreceived_ = 0
def has_externalbytesreceived(self): return self.has_externalbytesreceived_
def finalurl(self): return self.finalurl_
def set_finalurl(self, x):
self.has_finalurl_ = 1
self.finalurl_ = x
def clear_finalurl(self):
if self.has_finalurl_:
self.has_finalurl_ = 0
self.finalurl_ = ""
def has_finalurl(self): return self.has_finalurl_
def MergeFrom(self, x):
assert x is not self
if (x.has_content()): self.set_content(x.content())
if (x.has_statuscode()): self.set_statuscode(x.statuscode())
for i in xrange(x.header_size()): self.add_header().CopyFrom(x.header(i))
if (x.has_contentwastruncated()): self.set_contentwastruncated(x.contentwastruncated())
if (x.has_externalbytessent()): self.set_externalbytessent(x.externalbytessent())
if (x.has_externalbytesreceived()): self.set_externalbytesreceived(x.externalbytesreceived())
if (x.has_finalurl()): self.set_finalurl(x.finalurl())
def Equals(self, x):
if x is self: return 1
if self.has_content_ != x.has_content_: return 0
if self.has_content_ and self.content_ != x.content_: return 0
if self.has_statuscode_ != x.has_statuscode_: return 0
if self.has_statuscode_ and self.statuscode_ != x.statuscode_: return 0
if len(self.header_) != len(x.header_): return 0
for e1, e2 in zip(self.header_, x.header_):
if e1 != e2: return 0
if self.has_contentwastruncated_ != x.has_contentwastruncated_: return 0
if self.has_contentwastruncated_ and self.contentwastruncated_ != x.contentwastruncated_: return 0
if self.has_externalbytessent_ != x.has_externalbytessent_: return 0
if self.has_externalbytessent_ and self.externalbytessent_ != x.externalbytessent_: return 0
if self.has_externalbytesreceived_ != x.has_externalbytesreceived_: return 0
if self.has_externalbytesreceived_ and self.externalbytesreceived_ != x.externalbytesreceived_: return 0
if self.has_finalurl_ != x.has_finalurl_: return 0
if self.has_finalurl_ and self.finalurl_ != x.finalurl_: return 0
return 1
def IsInitialized(self, debug_strs=None):
initialized = 1
if (not self.has_statuscode_):
initialized = 0
if debug_strs is not None:
debug_strs.append('Required field: statuscode not set.')
for p in self.header_:
if not p.IsInitialized(debug_strs): initialized=0
return initialized
def ByteSize(self):
n = 0
if (self.has_content_): n += 1 + self.lengthString(len(self.content_))
n += self.lengthVarInt64(self.statuscode_)
n += 2 * len(self.header_)
for i in xrange(len(self.header_)): n += self.header_[i].ByteSize()
if (self.has_contentwastruncated_): n += 2
if (self.has_externalbytessent_): n += 1 + self.lengthVarInt64(self.externalbytessent_)
if (self.has_externalbytesreceived_): n += 1 + self.lengthVarInt64(self.externalbytesreceived_)
if (self.has_finalurl_): n += 1 + self.lengthString(len(self.finalurl_))
return n + 1
def Clear(self):
self.clear_content()
self.clear_statuscode()
self.clear_header()
self.clear_contentwastruncated()
self.clear_externalbytessent()
self.clear_externalbytesreceived()
self.clear_finalurl()
def OutputUnchecked(self, out):
if (self.has_content_):
out.putVarInt32(10)
out.putPrefixedString(self.content_)
out.putVarInt32(16)
out.putVarInt32(self.statuscode_)
for i in xrange(len(self.header_)):
out.putVarInt32(27)
self.header_[i].OutputUnchecked(out)
out.putVarInt32(28)
if (self.has_contentwastruncated_):
out.putVarInt32(48)
out.putBoolean(self.contentwastruncated_)
if (self.has_externalbytessent_):
out.putVarInt32(56)
out.putVarInt64(self.externalbytessent_)
if (self.has_externalbytesreceived_):
out.putVarInt32(64)
out.putVarInt64(self.externalbytesreceived_)
if (self.has_finalurl_):
out.putVarInt32(74)
out.putPrefixedString(self.finalurl_)
def TryMerge(self, d):
while d.avail() > 0:
tt = d.getVarInt32()
if tt == 10:
self.set_content(d.getPrefixedString())
continue
if tt == 16:
self.set_statuscode(d.getVarInt32())
continue
if tt == 27:
self.add_header().TryMerge(d)
continue
if tt == 48:
self.set_contentwastruncated(d.getBoolean())
continue
if tt == 56:
self.set_externalbytessent(d.getVarInt64())
continue
if tt == 64:
self.set_externalbytesreceived(d.getVarInt64())
continue
if tt == 74:
self.set_finalurl(d.getPrefixedString())
continue
if (tt == 0): raise ProtocolBuffer.ProtocolBufferDecodeError
d.skipData(tt)
def __str__(self, prefix="", printElemNumber=0):
res=""
if self.has_content_: res+=prefix+("Content: %s\n" % self.DebugFormatString(self.content_))
if self.has_statuscode_: res+=prefix+("StatusCode: %s\n" % self.DebugFormatInt32(self.statuscode_))
cnt=0
for e in self.header_:
elm=""
if printElemNumber: elm="(%d)" % cnt
res+=prefix+("Header%s {\n" % elm)
res+=e.__str__(prefix + " ", printElemNumber)
res+=prefix+"}\n"
cnt+=1
if self.has_contentwastruncated_: res+=prefix+("ContentWasTruncated: %s\n" % self.DebugFormatBool(self.contentwastruncated_))
if self.has_externalbytessent_: res+=prefix+("ExternalBytesSent: %s\n" % self.DebugFormatInt64(self.externalbytessent_))
if self.has_externalbytesreceived_: res+=prefix+("ExternalBytesReceived: %s\n" % self.DebugFormatInt64(self.externalbytesreceived_))
if self.has_finalurl_: res+=prefix+("FinalUrl: %s\n" % self.DebugFormatString(self.finalurl_))
return res
def _BuildTagLookupTable(sparse, maxtag, default=None):
return tuple([sparse.get(i, default) for i in xrange(0, 1+maxtag)])
kContent = 1
kStatusCode = 2
kHeaderGroup = 3
kHeaderKey = 4
kHeaderValue = 5
kContentWasTruncated = 6
kExternalBytesSent = 7
kExternalBytesReceived = 8
kFinalUrl = 9
_TEXT = _BuildTagLookupTable({
0: "ErrorCode",
1: "Content",
2: "StatusCode",
3: "Header",
4: "Key",
5: "Value",
6: "ContentWasTruncated",
7: "ExternalBytesSent",
8: "ExternalBytesReceived",
9: "FinalUrl",
}, 9)
_TYPES = _BuildTagLookupTable({
0: ProtocolBuffer.Encoder.NUMERIC,
1: ProtocolBuffer.Encoder.STRING,
2: ProtocolBuffer.Encoder.NUMERIC,
3: ProtocolBuffer.Encoder.STARTGROUP,
4: ProtocolBuffer.Encoder.STRING,
5: ProtocolBuffer.Encoder.STRING,
6: ProtocolBuffer.Encoder.NUMERIC,
7: ProtocolBuffer.Encoder.NUMERIC,
8: ProtocolBuffer.Encoder.NUMERIC,
9: ProtocolBuffer.Encoder.STRING,
}, 9, ProtocolBuffer.Encoder.MAX_TYPE)
_STYLE = """"""
_STYLE_CONTENT_TYPE = """"""
__all__ = ['URLFetchServiceError','URLFetchRequest','URLFetchRequest_Header','URLFetchResponse','URLFetchResponse_Header']