本文整理汇总了Python中zope.publisher.http.HTTPInputStream类的典型用法代码示例。如果您正苦于以下问题:Python HTTPInputStream类的具体用法?Python HTTPInputStream怎么用?Python HTTPInputStream使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了HTTPInputStream类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: testReadLines
def testReadLines(self):
stream = HTTPInputStream(BytesIO(data), {})
output = b''.join(stream.readlines(4))
self.assertEqual(output, self.getCacheStreamValue(stream))
output += b''.join(stream.readlines())
self.assertEqual(output, self.getCacheStreamValue(stream))
self.assertEqual(data, self.getCacheStreamValue(stream))
示例2: testRead
def testRead(self):
stream = HTTPInputStream(BytesIO(data), {})
output = b''
self.assertEqual(output, self.getCacheStreamValue(stream))
output += stream.read(5)
self.assertEqual(output, self.getCacheStreamValue(stream))
output += stream.read()
self.assertEqual(output, self.getCacheStreamValue(stream))
self.assertEqual(data, self.getCacheStreamValue(stream))
示例3: testReadLine
def testReadLine(self):
stream = HTTPInputStream(StringIO(data), {})
output = stream.readline()
self.assertEqual(output, self.getCacheStreamValue(stream))
output += stream.readline()
self.assertEqual(output, self.getCacheStreamValue(stream))
output += stream.readline()
self.assertEqual(output, self.getCacheStreamValue(stream))
output += stream.readline()
self.assertEqual(output, self.getCacheStreamValue(stream))
self.assertEqual(data, self.getCacheStreamValue(stream))
示例4: testCachingWithContentLength
def testCachingWithContentLength(self):
# The HTTPInputStream implementation will cache the input
# stream in a temporary file (instead of in memory) when the
# reported content length is over a certain number (100000 is
# definitely over that).
# HTTPInputStream understands both CONTENT_LENGTH...
stream = HTTPInputStream(StringIO(data), {'CONTENT_LENGTH': '100000'})
self.assert_(isinstance(stream.getCacheStream(), TempFileType))
# ... and HTTP_CONTENT_LENGTH.
stream = HTTPInputStream(StringIO(data), {'HTTP_CONTENT_LENGTH':
'100000'})
self.assert_(isinstance(stream.getCacheStream(), TempFileType))
# If CONTENT_LENGTH is absent or empty, it takes the value
# given in HTTP_CONTENT_LENGTH:
stream = HTTPInputStream(StringIO(data),
{'CONTENT_LENGTH': '',
'HTTP_CONTENT_LENGTH': '100000'})
self.assert_(isinstance(stream.getCacheStream(), TempFileType))
# In fact, HTTPInputStream can be instantiated with both an
# empty CONTENT_LENGTH and an empty HTTP_CONTENT_LENGTH:
stream = HTTPInputStream(StringIO(data),
{'CONTENT_LENGTH': '',
'HTTP_CONTENT_LENGTH': ''})
示例5: testWorkingWithNonClosingStreams
def testWorkingWithNonClosingStreams(self):
# It turns out that some Web servers (Paste for example) do not send
# the EOF signal after the data has been transmitted and the read()
# simply hangs if no expected content length has been specified.
#
# In this test we simulate the hanging of the server by throwing an
# exception.
class ServerHung(Exception):
pass
class NonClosingStream(object):
def read(self, size=-1):
if size == -1:
raise ServerHung
return b'a'*size
stream = HTTPInputStream(NonClosingStream(), {'CONTENT_LENGTH': '10'})
self.assertEqual(stream.getCacheStream().read(), b'aaaaaaaaaa')
stream = HTTPInputStream(NonClosingStream(), {})
self.assertRaises(ServerHung, stream.getCacheStream)
示例6: testGetCacheStream
def testGetCacheStream(self):
stream = HTTPInputStream(BytesIO(data), {})
stream.read(5)
self.assertEqual(data, stream.getCacheStream().read())