⚲
Project
General
Profile
Sign in
Register
Home
Projects
Donate
Help
Search
:
Lighttpd
All Projects
Lighttpd
Overview
Activity
Roadmap
Issues
News
Wiki
Forums
Repository
Blog
Developer Blog
Download (1.16 KB)
Bug #2913
» serverEncodeChunked.py
minimal python3 backend http server to recreate the issue -
blowfist
, 2018-10-07 02:43
# a very simple python3 HTTP responder
# which hands chunked encoded packets
import
sys
from
http.server
import
BaseHTTPRequestHandler
,
HTTPServer
def
chunk_data
(
data
,
chunk_size
):
dl
=
len
(
data
)
ret
=
""
for
i
in
range
(
dl
//
chunk_size
):
ret
+=
"%s
\r\n
"
%
(
hex
(
chunk_size
)[
2
:])
ret
+=
"%s
\r\n
"
%
(
data
[
i
*
chunk_size
:
(
i
+
1
)
*
chunk_size
])
if
len
(
data
)
%
chunk_size
!=
0
:
ret
+=
"%s
\r\n
"
%
(
hex
(
len
(
data
)
%
chunk_size
)[
2
:])
ret
+=
"%s
\r\n
"
%
(
data
[
-
(
len
(
data
)
%
chunk_size
):])
ret
+=
"0
\r\n\r\n
"
return
ret
class
responderHTTPServerRequestHandler
(
BaseHTTPRequestHandler
):
def
do_GET
(
self
):
self
.
send_response
(
200
)
self
.
send_header
(
'Content-type'
,
'text/html'
)
self
.
send_header
(
'Transfer-Encoding'
,
'chunked'
)
self
.
end_headers
()
result
=
"<html>
\n
<body>
\n
<h1>This works!</h1>
\n
</body>
\n
</html>"
#self.wfile.write(bytes(result, "utf-8"))
self
.
wfile
.
write
(
bytes
(
chunk_data
(
result
,
5
),
"utf-8"
))
def
do_HEAD
(
self
):
self
.
do_GET
()
def
main
():
httpd
=
HTTPServer
((
'127.0.0.1'
,
6080
),
responderHTTPServerRequestHandler
)
httpd
.
serve_forever
()
main
()
« Previous
1
2
3
Next »
(3-3/3)
Loading...