Tatsuhiro Tsujikawa
9683f88e6a
Add NGHTTP2_DEFAULT_HEADER_TABLE_SIZE macro
...
Use this macro in Python sources. Python module constant
HD_DEFLATE_HD_TABLE_BUFSIZE_MAX was renamed as
DEFLATE_MAX_HEADER_TABLE_SIZE since the previous name was awkward.
2014-05-11 21:38:30 +09:00
Tatsuhiro Tsujikawa
2e5c7f598f
Fix bug HPACK deflater does not send context update after table size change
2014-05-11 21:25:27 +09:00
Tatsuhiro Tsujikawa
6e7d0286e3
python: Utilize return value of nghttp2_submit_push_promise
2014-05-10 23:45:05 +09:00
Tatsuhiro Tsujikawa
b041218a2a
python: Fix function include path
2014-05-08 01:03:28 +09:00
Tatsuhiro Tsujikawa
efd90c349d
python: Output seqno in hpackmake.py, utilize it in hpackcheck.py
2014-04-23 00:55:54 +09:00
Tatsuhiro Tsujikawa
6a598d8fb8
python: Fix parellel `make distcheck` and not distribute nghttp2.c
...
It seems that setup.py gets deleted before python executes it in
clean-local. To prevent this situation, we just use .NOTPARALLEL.
Previously we distribute nghttp2.c in python, which is cythonized C
source code from nghttp2.pyx. Since it is distributed in archive it
exists in source directory. But we use python distutils which
operates in build directory and does not support C source files in out
of tree directory (i.e., not under the build directory). Copying C
source file to build directory is a bit dirty, so we just decided not
to ship nghttp2.c.
2014-04-21 00:51:12 +09:00
Tatsuhiro Tsujikawa
5240f8ad7e
python: Update to draft version to 7 in hpackmake.py
2014-04-20 23:02:56 +09:00
Tatsuhiro Tsujikawa
5b3deec186
Fix python build on windows
...
Patch from Gisle Vanem
"""
I tried to build this extension on Windows, but failed since
ws2_32.lib is needed in libraries
"""
2014-04-07 22:15:15 +09:00
Tatsuhiro Tsujikawa
f3f031f94c
Merge branch 'wsgi' of https://github.com/alekstorm/nghttp2 into alekstorm-wsgi
2014-04-07 21:16:24 +09:00
Alek Storm
be7aa8f53a
Add experimental WSGI server implementation
2014-04-06 21:33:32 -07:00
Tatsuhiro Tsujikawa
c9f3de5f6b
python: Fix compile error
2014-04-05 19:16:40 +09:00
Tatsuhiro Tsujikawa
9d9eb48258
python: Update according to HPACK change, but flags are not used yet
2014-04-02 02:16:39 +09:00
Tatsuhiro Tsujikawa
60a2c260a5
Define NGHTTP2_CLIENT_CONNECTION_PREFACE macro
...
NGHTTP2_CLIENT_CONNECTION_PREFACE has the same content with
NGHTTP2_CLIENT_CONNECTION_HEADER, which is now obsoleted by
NGHTTP2_CLIENT_CONNECTION_PREFACE.
2014-03-30 21:02:25 +09:00
Tatsuhiro Tsujikawa
ab2dc5967d
Replace HTTP/2.0 with HTTP/2
2014-03-30 19:26:37 +09:00
Tatsuhiro Tsujikawa
d07bb1ddff
Rework outbound frame buffers
2014-03-13 22:11:02 +09:00
Tatsuhiro Tsujikawa
358b4386d3
Introduce nghttp2_buf to ease buffer management
2014-03-11 01:47:38 +09:00
Tatsuhiro Tsujikawa
ddf6162528
python: Use distutils to build/install python bindings
...
automake version is a bit picky about installation location and uses
different compiler flags from distutils. We prefer official distutils.
Now nghttp2.c, which is generated by cython, is distributed in
archive.
2014-02-27 00:58:21 +09:00
Tatsuhiro Tsujikawa
52cec35906
python: Fix NameError if asyncio is not available
2014-02-26 00:54:16 +09:00
Tatsuhiro Tsujikawa
13cc3f2fe9
src, python: Only produce header_table_size when it is changed
2014-02-25 23:55:06 +09:00
Tatsuhiro Tsujikawa
7cf574d0d8
python: Update doc
2014-02-25 23:29:50 +09:00
Tatsuhiro Tsujikawa
911ffb24fa
python: Set NPN in HTTP2Server.__init__
2014-02-25 21:25:31 +09:00
Tatsuhiro Tsujikawa
add07c4303
python: Encode headers in UTF-8 if they are given in unicode
2014-02-25 21:21:35 +09:00
Tatsuhiro Tsujikawa
98715f4374
python: Add HTTP/2 server using asyncio
2014-02-25 01:47:09 +09:00
Tatsuhiro Tsujikawa
e74fbdf6b4
Merge branch 'master' into draft-10
2014-02-13 23:45:41 +09:00
Tatsuhiro Tsujikawa
fd88c6160d
HPACK post -05 updates
...
* Use 1 Huffman code table for both request and response
* Remove complicated deflater side table size management
* Add encoding context update
* Fix memory leak in inflater
2014-02-13 23:22:52 +09:00
Tatsuhiro Tsujikawa
39aaad5ad8
Fix out-of-tree build for python
2014-02-11 23:41:25 +09:00
Tatsuhiro Tsujikawa
e7fc2951b8
nghttp2_hd: Define dedicated struct for HPACK deflater and inflater
2014-01-26 17:53:04 +09:00
Tatsuhiro Tsujikawa
5082ce5107
hpackmake.py: Add --deflate-table-size option
2014-01-21 23:04:31 +09:00
Tatsuhiro Tsujikawa
a42cb13628
hpackmake.py: Add option parser
2014-01-21 21:50:01 +09:00
Tatsuhiro Tsujikawa
7048c56583
python: Update to latest nghttp2_hd spec
2014-01-17 02:27:42 +09:00
Tatsuhiro Tsujikawa
2e11f01ae6
python: Add -fno-strict-aliasing flag
2014-01-11 17:49:42 +09:00
Tatsuhiro Tsujikawa
47f20d5e83
Integrate Python bindings build into `make`
...
Now require python >= 2.7
2014-01-11 01:01:28 +09:00
Tatsuhiro Tsujikawa
0f89a19fa0
python: Add python script to generate hpack-test-case json files
...
See https://github.com/Jxck/hpack-test-case for the json file
format.
2014-01-05 23:50:12 +09:00
Tatsuhiro Tsujikawa
5c88e92e96
python: Add python script to check hpack-test-case json files
...
See https://github.com/Jxck/hpack-test-case for the json file
format.
2014-01-05 23:40:04 +09:00
Tatsuhiro Tsujikawa
a2ceae23a3
python: Handle name/value is NULL but its length is positive
...
This happens when deflater local header table is smaller than
inflater header table size. We use the same notation
"**DEALLOCATED**" for such name/values with hdtest programs.
2013-12-21 23:02:48 +09:00
Tatsuhiro Tsujikawa
efb25f723f
Update README.rst in python dir
2013-12-20 01:35:59 +09:00
Tatsuhiro Tsujikawa
cd5043f68c
python: Remove unnecessary variables
2013-12-18 21:17:32 +09:00
Tatsuhiro Tsujikawa
bddfa3c0b6
python: Add method to get/print header table
2013-12-18 00:20:14 +09:00
Tatsuhiro Tsujikawa
415b9d07d8
python: Refactor class
2013-12-17 23:53:49 +09:00
Tatsuhiro Tsujikawa
9d630901fa
Add check for cython and substitute python and cython in Makefile.am
2013-12-16 21:46:50 +09:00
Tatsuhiro Tsujikawa
3c63936d3a
Fix error on `make distcheck`
2013-12-15 16:36:43 +09:00
Tatsuhiro Tsujikawa
4e0ca71ef0
python: Add experimental python extension module
...
To build extension module, cython is required.
The module is not built with `make` in the top directory.
A user has to run `make build_ext` in python directory.
Currently header compression objects are available for testing.
2013-12-14 23:54:09 +09:00
Tatsuhiro Tsujikawa
0edce70343
Rebranding nghttp2
2013-07-13 00:43:06 +09:00
Tatsuhiro Tsujikawa
a4c7f17aa2
python: Escape '\' in server example code
2012-09-13 23:10:47 +09:00
Tatsuhiro Tsujikawa
1f2109bb0b
python: Bump up version number to 0.1.2
2012-09-12 22:38:10 +09:00
Tatsuhiro Tsujikawa
c1b130acd0
python: Don't raise exception from Session.resume_data()
...
In practice, Session.resume_data() will be used without checking there
is deferred data or not. Actually, there is no API to check this. So
it is better not to raise exception. Instead return False to notify
error. If the method succeeds, it returns True.
2012-09-10 22:10:54 +09:00
Tatsuhiro Tsujikawa
3d694c89c5
python: Escape \n in long_description
2012-08-28 23:00:24 +09:00
Tatsuhiro Tsujikawa
adbf33c0b8
Add python wrapper to distribution
2012-08-28 22:07:43 +09:00
Tatsuhiro Tsujikawa
fb72f47199
python: Bump up package version to 0.1.1
2012-08-28 21:55:46 +09:00
Tatsuhiro Tsujikawa
6cc62c5f22
python: shutdown socket at the end of the event loop
2012-08-28 21:39:24 +09:00
Tatsuhiro Tsujikawa
5b521e608b
python: update README.rst
2012-08-28 01:53:25 +09:00
Tatsuhiro Tsujikawa
fb6ef096c6
python: document urlfetch
2012-08-28 01:47:21 +09:00
Tatsuhiro Tsujikawa
b4758b5701
python: renamed uri as url for consistency
2012-08-28 01:46:53 +09:00
Tatsuhiro Tsujikawa
33d35912a5
python: add simple SPDY client function urlfetch()
2012-08-28 00:58:45 +09:00
Tatsuhiro Tsujikawa
6b64276c08
python: add get_npn_protocols() function
...
get_npn_protocols() is high level wrapper for
spdylay_npn_get_proto_list() and the returned list can be passed to
ssl.SSLContext.set_npn_protocols().
2012-08-27 23:32:27 +09:00
Tatsuhiro Tsujikawa
cc15f4bd89
python: add MANIFEST.in and README.rst
2012-08-25 00:18:17 +09:00
Tatsuhiro Tsujikawa
ade401c1f9
python: update setup.py
2012-08-25 00:10:20 +09:00
Tatsuhiro Tsujikawa
9bbd7a8a04
python: add __version__
2012-08-24 23:35:58 +09:00
Tatsuhiro Tsujikawa
dcba568ff9
python: make assoc_stream_id and stream_user_data in submit_syn_stream optional
2012-08-24 23:34:48 +09:00
Tatsuhiro Tsujikawa
595806a913
python: escape more variable when formatting error_message_format
2012-08-24 23:25:02 +09:00
Tatsuhiro Tsujikawa
9d66fc4b88
python: wrap socket in overridden process_request.
2012-08-24 23:21:36 +09:00
Tatsuhiro Tsujikawa
e208305505
python: make all callbacks BaseSPDYRequestHandler's instance method
...
ssl socket and ssctrl are also instance variable now.
2012-08-24 22:06:50 +09:00
Tatsuhiro Tsujikawa
3120450213
python: return unicode string error message
2012-08-24 21:56:46 +09:00
Tatsuhiro Tsujikawa
27989fe121
python: don't ignore decode exception from cnv2pynv
2012-08-24 21:50:44 +09:00
Tatsuhiro Tsujikawa
45c07bec4d
python: set TCP_NODELAY option
2012-08-24 21:22:43 +09:00
Tatsuhiro Tsujikawa
743b2e5584
python: add charset=UTF-8 to error_content_type
2012-08-24 21:18:40 +09:00
Tatsuhiro Tsujikawa
cf93d936be
python: fix typo
2012-08-24 21:17:53 +09:00
Tatsuhiro Tsujikawa
7b7e020bea
python: add doc
2012-08-24 01:25:42 +09:00
Tatsuhiro Tsujikawa
1c5219952b
python: add SSL options. Fix duplicated headers.
2012-08-24 01:25:02 +09:00
Tatsuhiro Tsujikawa
7ce24fc122
python: rewritten simple SPDY server. Add npn_get_version() helper function.
2012-08-24 00:27:07 +09:00
Tatsuhiro Tsujikawa
bbd8fcc704
python: use unicode for nv pair
2012-08-23 21:21:13 +09:00
Tatsuhiro Tsujikawa
424dc2cc9d
python: update setup.py
2012-08-23 03:37:26 +09:00
Tatsuhiro Tsujikawa
6fd77f6c5f
python: add spdyclient.py
2012-08-23 03:17:14 +09:00
Tatsuhiro Tsujikawa
edbccd9e24
python: make spdyserv.py nonblocking
2012-08-23 01:59:21 +09:00
Tatsuhiro Tsujikawa
cb6fdb4e02
python: add remaining callbacks except for CREDENTIAL related ones
2012-08-23 00:13:50 +09:00
Tatsuhiro Tsujikawa
306429e23b
python: add read_ctrl to read_cb args to indicate EOF explicitly
2012-08-22 21:48:41 +09:00
Tatsuhiro Tsujikawa
870210e859
python: add Session.submit_window_update()
2012-08-22 02:08:03 +09:00
Tatsuhiro Tsujikawa
396d4a7fae
python: add Session.submit_ping()
2012-08-22 01:49:02 +09:00
Tatsuhiro Tsujikawa
7a362e23b3
python: add Session.submit_headers()
2012-08-22 01:41:07 +09:00
Tatsuhiro Tsujikawa
7580c9f671
python: add Session.submit_data()
2012-08-22 01:28:05 +09:00
Tatsuhiro Tsujikawa
78f6119196
python: add config argument to Session.__init__
2012-08-22 01:12:00 +09:00
Tatsuhiro Tsujikawa
6074d91b3f
python: add test cases
2012-08-22 01:11:41 +09:00
Tatsuhiro Tsujikawa
4de4d1e9ef
python: handle SPDYLAY_ERR_INVALID_ARGUMENT from in submit_{reply,response}
2012-08-21 23:27:32 +09:00
Tatsuhiro Tsujikawa
288962f3e6
python: send_cb returns 0 to indicate SPDYLAY_ERR_WOULDBLOCK. Reorder cbs.
2012-08-21 01:05:45 +09:00
Tatsuhiro Tsujikawa
6eba7b4af5
python: add on_stream_close_cb and on_request_recv_cb
2012-08-17 23:39:48 +09:00
Tatsuhiro Tsujikawa
2a5b7bc2a2
python: check rv == 0 first. read_cb return data or status code
2012-08-17 23:19:50 +09:00
Tatsuhiro Tsujikawa
8ce1925609
Add Python wrapper for spdylay
...
Still incomplete. See SPDY server sample in spdyserv.py.
2012-08-17 01:36:30 +09:00