Commit Graph

137 Commits

Author SHA1 Message Date
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