示例#1
0
    def test_post_multipart(self):
        alphabet = "abcdefghijklmnopqrstuvwxyz"
        # generate file contents for a large post
        contents = "".join([c * 65536 for c in alphabet])

        # encode as multipart form data
        files = [('file', 'file.txt', contents)]
        content_type, body = encode_multipart_formdata(files)
        body = body.encode('Latin-1')

        # post file
        if self.scheme == 'https':
            c = HTTPSConnection('%s:%s' % (self.interface(), self.PORT))
        else:
            c = HTTPConnection('%s:%s' % (self.interface(), self.PORT))
        c.putrequest('POST', '/post_multipart')
        c.putheader('Content-Type', content_type)
        c.putheader('Content-Length', str(len(body)))
        c.endheaders()
        c.send(body)

        response = c.getresponse()
        self.body = response.fp.read()
        self.status = str(response.status)
        self.assertStatus(200)
        self.assertBody(", ".join(["%s * 65536" % c for c in alphabet]))
示例#2
0
 def test_malformed_header(self):
     if self.scheme == 'https':
         c = HTTPSConnection('%s:%s' % (self.interface(), self.PORT))
     else:
         c = HTTPConnection('%s:%s' % (self.interface(), self.PORT))
     c.putrequest('GET', '/')
     c.putheader('Content-Type', 'text/plain')
     c._output(ntob('Re, 1.2.3.4#015#012'))
     c.endheaders()
     response = c.getresponse()
     self.status = str(response.status)
     self.assertStatus(400)
     self.body = response.fp.read(20)
     self.assertBody('Illegal header line.')
示例#3
0
 def test_malformed_header(self):
     if self.scheme == 'https':
         c = HTTPSConnection('%s:%s' % (self.interface(), self.PORT))
     else:
         c = HTTPConnection('%s:%s' % (self.interface(), self.PORT))
     c.putrequest('GET', '/')
     c.putheader('Content-Type', 'text/plain')
     c._output(ntob('Re, 1.2.3.4#015#012'))
     c.endheaders()
     response = c.getresponse()
     self.status = str(response.status)
     self.assertStatus(400)
     self.body = response.fp.read(20)
     self.assertBody('Illegal header line.')
示例#4
0
 def request(index):
     if self.scheme == 'https':
         c = HTTPSConnection('%s:%s' % (self.interface(), self.PORT))
     else:
         c = HTTPConnection('%s:%s' % (self.interface(), self.PORT))
     for i in range(request_count):
         c.putrequest('GET', '/')
         for k, v in cookies:
             c.putheader(k, v)
         c.endheaders()
         response = c.getresponse()
         body = response.read()
         if response.status != 200 or not body.isdigit():
             errors.append((response.status, body))
         else:
             data_dict[index] = max(data_dict[index], int(body))
示例#5
0
 def getpage():
     host = '%s:%s' % (self.interface(), self.PORT)
     if self.scheme == 'https':
         c = HTTPSConnection(host)
     else:
         c = HTTPConnection(host)
     try:
         c.putrequest('GET', '/')
         c.endheaders()
         response = c.getresponse()
         body = response.read()
         self.assertEqual(response.status, 200)
         self.assertEqual(body, ntob("Hello world!"))
     finally:
         c.close()
     success.append(True)
 def getpage():
     host = '%s:%s' % (self.interface(), self.PORT)
     if self.scheme == 'https':
         c = HTTPSConnection(host)
     else:
         c = HTTPConnection(host)
     try:
         c.putrequest('GET', '/')
         c.endheaders()
         response = c.getresponse()
         body = response.read()
         self.assertEqual(response.status, 200)
         self.assertEqual(body, ntob("Hello world!"))
     finally:
         c.close()
     success.append(True)
示例#7
0
 def request(index):
     if self.scheme == 'https':
         c = HTTPSConnection('%s:%s' % (self.interface(), self.PORT))
     else:
         c = HTTPConnection('%s:%s' % (self.interface(), self.PORT))
     for i in range(request_count):
         c.putrequest('GET', '/')
         for k, v in cookies:
             c.putheader(k, v)
         c.endheaders()
         response = c.getresponse()
         body = response.read()
         if response.status != 200 or not body.isdigit():
             errors.append((response.status, body))
         else:
             data_dict[index] = max(data_dict[index], int(body))
示例#8
0
    def test_malformed_header(self):
        if self.scheme == "https":
            c = HTTPSConnection("%s:%s" % (self.interface(), self.PORT))
        else:
            c = HTTPConnection("%s:%s" % (self.interface(), self.PORT))
        c.putrequest("GET", "/")
        c.putheader("Content-Type", "text/plain")
        # See http://www.cherrypy.org/ticket/941
        c._output(ntob("Re, 1.2.3.4#015#012"))
        c.endheaders()

        response = c.getresponse()
        self.status = str(response.status)
        self.assertStatus(400)
        self.body = response.fp.read(20)
        self.assertBody("Illegal header line.")
示例#9
0
 def test_post_multipart(self):
     alphabet = 'abcdefghijklmnopqrstuvwxyz'
     contents = ''.join([ c * 65536 for c in alphabet ])
     files = [('file', 'file.txt', contents)]
     content_type, body = encode_multipart_formdata(files)
     body = body.encode('Latin-1')
     if self.scheme == 'https':
         c = HTTPSConnection('%s:%s' % (self.interface(), self.PORT))
     else:
         c = HTTPConnection('%s:%s' % (self.interface(), self.PORT))
     c.putrequest('POST', '/post_multipart')
     c.putheader('Content-Type', content_type)
     c.putheader('Content-Length', str(len(body)))
     c.endheaders()
     c.send(body)
     response = c.getresponse()
     self.body = response.fp.read()
     self.status = str(response.status)
     self.assertStatus(200)
     self.assertBody(', '.join([ '%s * 65536' % c for c in alphabet ]))