/
usr
/
share
/
doc
/
python3-pycurl
/
tests
/
/usr/share/doc/python3-pycurl/tests
mkdir
upload
Name
Size
Mode
Actions
certs/
-
0755
rm
ext/
-
0755
rm
fake-curl/
-
0755
rm
fixtures/
-
0755
rm
matrix/
-
0755
rm
tmp/
-
0755
rm
__pycache__/
-
0755
rm
app.py
4088
0644
edit
dl
rm
appmanager.py
1380
0644
edit
dl
rm
cadata_test.py
1452
0644
edit
dl
rm
certinfo_test.py
3468
0644
edit
dl
rm
close_socket_cb_test.py
2168
0644
edit
dl
rm
curl_object_test.py
4883
0644
edit
dl
rm
debug_test.py
2275
0644
edit
dl
rm
default_write_cb_test.py
3039
0644
edit
dl
rm
error_constants_test.py
662
0644
edit
dl
rm
error_test.py
2901
0644
edit
dl
rm
failonerror_test.py
3509
0644
edit
dl
rm
ftp_test.py
1537
0644
edit
dl
rm
global_init_test.py
1063
0644
edit
dl
rm
header_cb_test.py
1560
0644
edit
dl
rm
header_test.py
1848
0644
edit
dl
rm
high_level_curl_test.py
632
0644
edit
dl
rm
info_constants_test.py
387
0644
edit
dl
rm
internals_test.py
6674
0644
edit
dl
rm
matrix.py
6816
0644
edit
dl
rm
multi_option_constants_test.py
2503
0644
edit
dl
rm
multi_socket_test.py
3049
0644
edit
dl
rm
multi_test.py
12313
0644
edit
dl
rm
multi_timer_test.py
2695
0644
edit
dl
rm
open_socket_cb_test.py
4761
0644
edit
dl
rm
option_constants_test.py
16371
0644
edit
dl
rm
perform_test.py
2179
0644
edit
dl
rm
procmgr.py
2731
0644
edit
dl
rm
protocol_constants_test.py
1679
0644
edit
dl
rm
readdata_test.py
9623
0644
edit
dl
rm
read_cb_test.py
4340
0644
edit
dl
rm
relative_url_test.py
551
0644
edit
dl
rm
reload_test.py
430
0644
edit
dl
rm
reset_test.py
2699
0644
edit
dl
rm
resolve_test.py
780
0644
edit
dl
rm
run-quickstart.sh
768
0755
edit
dl
rm
run.sh
690
0755
edit
dl
rm
runwsgi.py
3733
0644
edit
dl
rm
seek_cb_constants_test.py
833
0644
edit
dl
rm
setopt_lifecycle_test.py
1797
0644
edit
dl
rm
setopt_string_test.py
816
0644
edit
dl
rm
setopt_test.py
3773
0644
edit
dl
rm
setopt_unicode_test.py
1092
0644
edit
dl
rm
setup_test.py
10035
0644
edit
dl
rm
share_test.py
1726
0644
edit
dl
rm
sockopt_cb_test.py
2453
0644
edit
dl
rm
unset_range_test.py
1482
0644
edit
dl
rm
user_agent_string_test.py
820
0644
edit
dl
rm
util.py
8291
0644
edit
dl
rm
version_comparison_test.py
514
0644
edit
dl
rm
version_constants_test.py
2056
0644
edit
dl
rm
version_test.py
313
0644
edit
dl
rm
vsftpd.conf
294
0644
edit
dl
rm
weakref_test.py
443
0644
edit
dl
rm
write_abort_test.py
1194
0644
edit
dl
rm
write_cb_bogus_test.py
1381
0644
edit
dl
rm
write_test.py
10048
0644
edit
dl
rm
write_to_stringio_test.py
1228
0644
edit
dl
rm
xferinfo_cb_test.py
2147
0644
edit
dl
rm
__init__.py
535
0644
edit
dl
rm
Edit:
/usr/share/doc/python3-pycurl/tests/app.py
(4088B)
# -*- coding: utf-8 -*- # vi:ts=4:et import time as _time, sys import bottle try: import json except ImportError: import simplejson as json py3 = sys.version_info[0] == 3 app = bottle.Bottle() app.debug = True @app.route('/success') def ok(): return 'success' @app.route('/short_wait') def short_wait(): _time.sleep(0.1) return 'success' @app.route('/status/403') def forbidden(): return bottle.HTTPResponse('forbidden', 403) @app.route('/status/404') def not_found(): return bottle.HTTPResponse('not found', 404) @app.route('/postfields', method='post') def postfields(): return json.dumps(dict(bottle.request.forms)) @app.route('/raw_utf8', method='post') def raw_utf8(): data = bottle.request.body.getvalue().decode('utf8') return json.dumps(data) # XXX file is not a bottle FileUpload instance, but FieldStorage? def xconvert_file(key, file): return { 'key': key, 'name': file.name, 'raw_filename': file.raw_filename, 'headers': file.headers, 'content_type': file.content_type, 'content_length': file.content_length, 'data': file.read(), } if hasattr(bottle, 'FileUpload'): # bottle 0.12 def convert_file(key, file): return { 'name': file.name, # file.filename lowercases the file name # https://github.com/defnull/bottle/issues/582 # raw_filenames is a string on python 3 'filename': file.raw_filename, 'data': file.file.read().decode(), } else: # bottle 0.11 def convert_file(key, file): return { 'name': file.name, 'filename': file.filename, 'data': file.file.read().decode(), } @app.route('/files', method='post') def files(): files = [convert_file(key, bottle.request.files[key]) for key in bottle.request.files] return json.dumps(files) @app.route('/header') def header(): return bottle.request.headers.get(bottle.request.query['h'], '') # This is a hacky endpoint to test non-ascii text being given to libcurl # via headers. # HTTP RFC requires headers to be latin1-encoded. # Any string can be decoded as latin1; here we encode the header value # back into latin1 to obtain original bytestring, then decode it in utf-8. # Thanks to bdarnell for the idea: https://github.com/pycurl/pycurl/issues/124 @app.route('/header_utf8') def header_utf8(): header_value = bottle.request.headers[bottle.request.query['h']] if py3: # header_value is a string, headers are decoded in latin1 header_value = header_value.encode('latin1').decode('utf8') else: # header_value is a binary string, decode in utf-8 directly header_value = header_value.decode('utf8') return header_value @app.route('/param_utf8_hack', method='post') def param_utf8_hack(): param = bottle.request.forms['p'] if py3: # python 3 decodes bytes as latin1 perhaps? # apply the latin1-utf8 hack param = param.encode('latin').decode('utf8') return param def pause_writer(interval): yield 'part1' _time.sleep(interval) yield 'part2' @app.route('/pause') def pause(): return pause_writer(0.5) @app.route('/long_pause') def long_pause(): return pause_writer(1) @app.route('/utf8_body') def utf8_body(): # bottle encodes the body return 'Дружба народов' @app.route('/invalid_utf8_body') def invalid_utf8_body(): # bottle encodes the body raise bottle.HTTPResponse(b'\xb3\xd2\xda\xcd\xd7', 200) @app.route('/set_cookie_invalid_utf8') def set_cookie_invalid_utf8(): bottle.response.set_header('Set-Cookie', '\xb3\xd2\xda\xcd\xd7=%96%A6g%9Ay%B0%A5g%A7tm%7C%95%9A') return 'cookie set' @app.route('/content_type_invalid_utf8') def content_type_invalid_utf8(): bottle.response.set_header('Content-Type', '\xb3\xd2\xda\xcd\xd7') return 'content type set' @app.route('/status_invalid_utf8') def status_invalid_utf8(): raise bottle.HTTPResponse('status set', '555 \xb3\xd2\xda\xcd\xd7')
Save
cmd:
run