• Home
  • Raw
  • Download

Lines Matching +full:fs +full:- +full:err

22     def __init__(self, err):  argument
23 self.err = err
26 return str(self.err)
31 return (self.err.__class__ == anExc.__class__ and
32 self.err.args == anExc.args)
35 return getattr(self.err, attr)
44 fp = BytesIO(buf.encode('latin-1')) # FieldStorage expects bytes
46 env['CONTENT_TYPE'] = 'application/x-www-form-urlencoded'
52 except Exception as err:
53 return ComparableException(err)
75 ("x=1&y=2.0&z=2-3.%2b0", {'x': ['1'], 'y': ['2.0'], 'z': ['2-3.+0']}),
76 …ustomer&order_id=0bb2e248638833d48cb7fed300000f1b&expire=964546263&lobale=en-US&kid=130003.300038&…
81 'lobale': ['en-US'],
107 encoding = 'latin-1'
123 'CONTENT-LENGTH': '558'}
130 POSTDATA = '''--JfISa01
131 Content-Disposition: form-data; name="submit-name"
135 --JfISa01--
140 expected = {'submit-name': ['just a string\n']}
145 POSTDATA = """--JfISa01
146 Content-Disposition: form-data; name="submit-name"
147 Content-Length: 3
150 --JfISa01"""
153 'CONTENT-LENGTH': str(len(POSTDATA.encode('utf8')))}
156 expected = {'submit-name': ["\udce2\udc98\udc83"]}
159 result["submit-name"][0].encode('utf8', 'surrogateescape'))
162 fs = cgi.FieldStorage()
163 self.assertFalse(fs)
164 self.assertIn("FieldStorage", repr(fs))
165 self.assertEqual(list(fs), list(fs.keys()))
166 fs.list.append(namedtuple('MockFieldStorage', 'name')('fieldvalue'))
167 self.assertTrue(fs)
170 self.assertRaises(TypeError, cgi.FieldStorage, "not-a-file-obj",
173 fs = cgi.FieldStorage(headers={'content-type':'text/plain'})
174 self.assertRaises(TypeError, bool, fs)
185 fs = cgi.FieldStorage(environ=env)
188 self.assertEqual(len(expect), len(fs))
189 self.assertCountEqual(expect.keys(), fs.keys())
190 ##self.assertEqual(norm(expect.values()), norm(fs.values()))
191 ##self.assertEqual(norm(expect.items()), norm(fs.items()))
192 self.assertEqual(fs.getvalue("nonexistent field", "default"), "default")
196 self.assertIn(key, fs)
198 self.assertEqual(fs.getvalue(key), expect_val)
200 self.assertEqual(fs.getvalue(key), expect_val[0])
205 ("x=1;y=2.0;z=2-3.%2b0", {'x': ['1'], 'y': ['2.0'], 'z': ['2-3.+0']}),
216 fs = cgi.FieldStorage(separator=';', environ=env)
220 self.assertIn(key, fs)
222 self.assertEqual(fs.getvalue(key), expect_val)
224 self.assertEqual(fs.getvalue(key), expect_val[0])
245 # non-GET/HEAD requests
270 fs = cgi.FieldStorage(fp=f, environ=env)
271 self.addCleanup(fs.file.close)
282 'CONTENT_TYPE': 'multipart/form-data; boundary={}'.format(BOUNDARY),
284 fp = BytesIO(POSTDATA.encode('latin-1'))
285 fs = cgi.FieldStorage(fp, environ=env, encoding="latin-1")
286 self.assertEqual(len(fs.list), 4)
291 for x in range(len(fs.list)):
293 got = getattr(fs.list[x], k)
299 'CONTENT_TYPE': 'multipart/form-data; boundary={}'.format(BOUNDARY),
303 fp = BytesIO(b"\r\n" + POSTDATA.encode('latin-1'))
304 fs = cgi.FieldStorage(fp, environ=env, encoding="latin-1")
305 self.assertEqual(len(fs.list), 4)
310 for x in range(len(fs.list)):
312 got = getattr(fs.list[x], k)
318 'CONTENT_TYPE': 'multipart/form-data; boundary={}'.format(BOUNDARY),
320 for encoding in ['iso-8859-1','utf-8']:
322 fs = cgi.FieldStorage(fp, environ=env,encoding=encoding)
323 self.assertEqual(len(fs.list), 1)
325 for x in range(len(fs.list)):
327 got = getattr(fs.list[x], k)
335 data = """---123
336 Content-Disposition: form-data; name="upload"; filename="fake.txt"
337 Content-Type: text/plain
340 ---123--
344 'CONTENT_TYPE': 'multipart/form-data; boundary=-123',
349 check('x' * (maxline - 1))
350 check('x' * (maxline - 1) + '\r')
351 check('x' * (maxline - 1) + '\r' + 'y' * (maxline - 1))
357 'CONTENT_TYPE': 'multipart/form-data; boundary={}'.format(BOUNDARY_W3),
359 fp = BytesIO(POSTDATA_W3.encode('latin-1'))
360 fs = cgi.FieldStorage(fp, environ=env, encoding="latin-1")
361 self.assertEqual(len(fs.list), 2)
362 self.assertEqual(fs.list[0].name, 'submit-name')
363 self.assertEqual(fs.list[0].value, 'Larry')
364 self.assertEqual(fs.list[1].name, 'files')
365 files = fs.list[1].value
376 POSTDATA = """--JfISa01
377 Content-Disposition: form-data; name="submit-name"
378 Content-Length: 5
381 --JfISa01"""
384 'CONTENT_TYPE': 'multipart/form-data; boundary={}'.format(BOUNDARY),
386 fp = BytesIO(POSTDATA.encode('latin-1'))
387 fs = cgi.FieldStorage(fp, environ=env, encoding="latin-1")
388 self.assertEqual(len(fs.list), 1)
389 self.assertEqual(fs.list[0].name, 'submit-name')
390 self.assertEqual(fs.list[0].value, 'Larry')
393 fp = BytesIO(b"""--MyBoundary
394 Content-Disposition: form-data; name="my-arg"; filename="foo"
398 --MyBoundary--
402 "CONTENT_TYPE": "multipart/form-data; boundary=MyBoundary",
407 self.assertEqual(len(fields["my-arg"].file.read()), 5)
412 with cgi.FieldStorage(fp=fp, environ=env) as fs:
413 content = fs.file.read()
414 self.assertFalse(fs.file.closed)
415 self.assertTrue(fs.file.closed)
418 fs.file.read()
430 'CONTENT_TYPE': 'application/x-www-form-urlencoded',
438 # For application/x-www-form-urlencoded
442 'CONTENT_TYPE': 'application/x-www-form-urlencoded',
453 # For multipart/form-data
454 data = """---123
455 Content-Disposition: form-data; name="a"
458 ---123
459 Content-Type: application/x-www-form-urlencoded
462 ---123
463 Content-Type: application/x-www-form-urlencoded
466 ---123--
470 'CONTENT_TYPE': 'multipart/form-data; boundary=-123',
492 data = """---123
493 Content-Disposition: form-data; name="key2"
496 ---123
497 Content-Disposition: form-data; name="key3"
500 ---123
501 Content-Disposition: form-data; name="key4"
504 ---123--
508 'CONTENT_TYPE': 'multipart/form-data; boundary=-123',
516 data = """---123
517 Content-Disposition: form-data; name="key2"
520 ---123
521 Content-Disposition: form-data; name="key3"
524 ---123
525 Content-Disposition: form-data; name="key4"
528 ---123
529 Content-Disposition: form-data; name="upload"; filename="fake.txt"
530 Content-Type: text/plain
534 ---123--
538 'CONTENT_TYPE': 'multipart/form-data; boundary=-123',
557 cgi.parse_header("text/plain;charset=us-ascii"),
558 ("text/plain", {"charset": "us-ascii"}))
560 cgi.parse_header('text/plain ; charset="us-ascii"'),
561 ("text/plain", {"charset": "us-ascii"}))
563 cgi.parse_header('text/plain ; charset="us-ascii"; another=opt'),
564 ("text/plain", {"charset": "us-ascii", "another": "opt"}))
575 cgi.parse_header('form-data; name="files"; filename="fo\\"o;bar"'),
576 ("form-data", {"name": "files", "filename": 'fo"o;bar'}))
585 BOUNDARY = "---------------------------721837373350705526688164684"
587 POSTDATA = """-----------------------------721837373350705526688164684
588 Content-Disposition: form-data; name="id"
591 -----------------------------721837373350705526688164684
592 Content-Disposition: form-data; name="title"
595 -----------------------------721837373350705526688164684
596 Content-Disposition: form-data; name="file"; filename="test.txt"
597 Content-Type: text/plain
601 -----------------------------721837373350705526688164684
602 Content-Disposition: form-data; name="submit"
605 -----------------------------721837373350705526688164684--
608 POSTDATA_NON_ASCII = """-----------------------------721837373350705526688164684
609 Content-Disposition: form-data; name="id"
612 -----------------------------721837373350705526688164684
615 # http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4
617 POSTDATA_W3 = """--AaB03x
618 Content-Disposition: form-data; name="submit-name"
621 --AaB03x
622 Content-Disposition: form-data; name="files"
623 Content-Type: multipart/mixed; boundary=BbC04y
625 --BbC04y
626 Content-Disposition: file; filename="file1.txt"
627 Content-Type: text/plain
630 --BbC04y
631 Content-Disposition: file; filename="file2.gif"
632 Content-Type: image/gif
633 Content-Transfer-Encoding: binary
636 --BbC04y--
637 --AaB03x--