def test_decode2xKB1(self):
        original = b64random(normalizeBytes(1, "KB"))

        chunk = str().join(http.toChunk(original))
        nullChunk = str().join(http.toChunk(""))

        data = chunk + nullChunk + chunk
        decoded = self.chunker.decode(data)

        self.assertTrue(self.chunker.finished)
        extra = self.chunker.getExtra()

        self.assertEquals(original, decoded)

        self.assertEquals(len(chunk), len(extra))
        self.assertEquals(chunk, extra)
    def test_decodeKB8(self):
        original = b64random(normalizeBytes(8, "KB"))

        chunk = str().join(http.toChunk(original))
        decoded = self.chunker.decode(chunk)

        self.assertEquals(original, decoded)
    def test_decodeB8(self):
        original = b64random(8)

        chunk = str().join(http.toChunk(original))
        decoded = self.chunker.decode(chunk)

        self.assertEquals(original, decoded)
    def test_decodeKB1x1B(self):
        original = b64random(normalizeBytes(1, "KB"))

        chunk = str().join(http.toChunk(original))
        decoded = ""
        for char in chunk[:]:
            decoded += self.chunker.decode(char)

        self.assertEquals(original, decoded)
Example #5
0
 def testConcatenatedChunks(self):
     chunked = ''.join([''.join(http.toChunk(t)) for t in self.strings])
     result = []
     buffer = ""
     for c in chunked:
         buffer = buffer + c
         try:
             data, buffer = http.fromChunk(buffer)
             result.append(data)
         except ValueError:
             pass
     self.assertEquals(result, self.strings)
	def _write_response(self, data):
		"""
		Actually writes data in response to this request.
		
		*data* (``str``) is the data to write.
		"""
		# NOTE: Derived from ``twisted.web.http.Request.write()``. 
		if self._disconnected:
			raise RequestDisconnected("Request %r is disconnected." % self)
		if not self._resp_started:
			self._write_headers()
			if self._resp_nobody:
				return
		if data:
			self.sentLength += len(data)
			if self._resp_chunked:
				self.transport.writeSequence(http.toChunk(data))
			else:
				self.transport.write(data)
    def _write_response(self, data):
        """
		Actually writes data in response to this request.
		
		*data* (``str``) is the data to write.
		"""
        # NOTE: Derived from ``twisted.web.http.Request.write()``.
        if self._disconnected:
            raise RequestDisconnected("Request %r is disconnected." % self)
        if not self._resp_started:
            self._write_headers()
            if self._resp_nobody:
                return
        if data:
            self.sentLength += len(data)
            if self._resp_chunked:
                self.transport.writeSequence(http.toChunk(data))
            else:
                self.transport.write(data)
Example #8
0
 def testChunks(self):
     for s in self.strings:
         self.assertEquals((s, ''), http.fromChunk(''.join(http.toChunk(s))))
     self.assertRaises(ValueError, http.fromChunk, '-5\r\nmalformed!\r\n')
Example #9
0
 def testChunks(self):
     for s in self.strings:
         self.assertEquals((s, ''), http.fromChunk(''.join(http.toChunk(s))))
Example #10
0
 def testChunks(self):
     for s in self.strings:
         self.assertEquals((s, ''),
                           http.fromChunk(''.join(http.toChunk(s))))