Commit Graph

198 Commits

Author SHA1 Message Date
Greg Wilkins 31e448ffd6 Removed duplication of HttpGenerator$Info vs http.MetaData
Use MetaData throughout code base
2014-10-24 15:51:20 +11:00
Greg Wilkins ec79a6f88e Improve HTTP header pre-encoding
The HttpContent class has been reworked to store HttpField instances, we may be generated on
demand or instances of PreEncodedHttpField.

The encoding of HTTP2 fields has been generalized to handle both indexed and literal fields, selected
by header enum set.

Default servlet and response classes have been cleaned up in how they set response headers.
2014-10-16 12:31:37 +11:00
Greg Wilkins 8c85b2f591 improved http2 static entry generation 2014-10-15 14:04:54 +11:00
Simone Bordet c7987b154a Reverted logging of HTTP2 tests from DEBUG to INFO. 2014-08-15 17:29:38 +02:00
Greg Wilkins 68a3ca8e31 improved debug logging of settings 2014-08-13 12:00:32 +10:00
Greg Wilkins 64e49a1fe5 work around classloaders for field preencoders 2014-08-07 09:10:35 +10:00
Greg Wilkins 17f46665df preencoded httpfield optimisation 2014-08-06 21:09:26 +10:00
Greg Wilkins d7f2c42e2d misc optimisation of http2 field creation 2014-08-05 12:55:37 +10:00
Greg Wilkins 48d68a4916 handle http/1 host header in http/2 2014-08-05 09:21:27 +10:00
Simone Bordet a2faa030cc Improved logging. 2014-08-04 12:09:35 +02:00
Greg Wilkins 1fb07644a1 Use HttpHeader enum for :path and similar h2 fields 2014-08-02 16:37:43 +10:00
Greg Wilkins cd59d0085e improve known header handling in hpack encoding 2014-08-02 15:40:15 +10:00
Greg Wilkins 1873b306b3 Improved hpack encoder handling of custom fields 2014-08-02 12:56:12 +10:00
Greg Wilkins 9c3eedfea8 Updates to hpack for hpack-09 draft 2014-07-31 13:26:23 +10:00
Greg Wilkins a1696c0139 updates for hpack huffman and examples 2014-07-25 19:38:16 +10:00
Greg Wilkins c13be6d932 Merge branch 'jetty-http2' into refset
Conflicts:
	jetty-http2/http2-hpack/src/test/java/org/eclipse/jetty/http2/hpack/HpackEncoderTest.java
2014-07-25 18:33:10 +10:00
Greg Wilkins 30123607c6 Major refactor of metadata and HttpURI
This refactor strives to remove duplication between the Metadata class and the HttpURI class.

Both classes have been made mutable (as they partially were anyway so best not to pretend).

HttpURI now holds the decomposed strings rather than a single string with indexes. This allows it to be rebuilt after changing just parts of the URI. It is now a lot more similar to the
JVM URI class and we could consider replacing it (after checking peformance).

Next step is to refactor the Request class to prevent it duplicating these fields.
2014-07-24 15:49:52 +10:00
Greg Wilkins d6f841bb87 fixed refactor uri issue 2014-07-23 09:03:52 +10:00
Greg Wilkins 7f62f2600b refactored URI handling 2014-07-20 10:23:47 +10:00
Greg Wilkins a639359a7b do not index content-length 2014-07-18 17:23:44 +10:00
Greg Wilkins d4e7c0a279 update encoding strategy for no ref-set 2014-07-18 15:59:41 +10:00
Greg Wilkins 89a816843f removed refset from hpack 2014-07-18 15:59:41 +10:00
Greg Wilkins f9ffefbe13 refactored to avoid copying MetaData.Request instances 2014-07-11 16:35:25 +10:00
Simone Bordet 4c2c7e8352 Guarded calls to LOG.debug() with if (LOG.isDebugEnabled()) to reduce allocation of varargs Object[]. 2014-06-25 12:37:05 +02:00
Greg Wilkins c0629b6e04 encoding debug 2014-06-19 15:32:27 +02:00
Greg Wilkins 9acf971cc1 cache path URI in table 2014-06-18 15:26:33 +02:00
Simone Bordet 4dca6a71d3 Update Parser constructor to take additional parameters needed by
HpackDecoder.
2014-06-18 11:40:11 +02:00
Greg Wilkins 30affa57c7 HpackDecoder implements 413 limit 2014-06-18 11:11:23 +02:00
Greg Wilkins 140e7ed0c5 encoder headers as lowercase 2014-06-18 10:22:23 +02:00
Greg Wilkins e115dee62f improved static encoding strategy 2014-06-17 19:54:21 +02:00
Greg Wilkins 7fa4f1e9f8 cleaned up authority handling 2014-06-17 19:40:09 +02:00
Greg Wilkins 4c2a3dfbe6 better hpack debug 2014-06-17 11:04:10 +02:00
Greg Wilkins 25295456ae renamed HTTP/2.0 to HTTP/2 2014-06-17 00:12:57 +02:00
Greg Wilkins 272e1d8da5 Refactored HttpChannel to not have direct HttpParser dependency 2014-06-17 00:02:50 +02:00
Greg Wilkins 116d654426 cleaned up debug 2014-06-12 15:08:46 +02:00
Greg Wilkins 1666f54b50 revert httpfields 2014-06-11 17:41:52 +02:00
Greg Wilkins f258ff1565 improved debug 2014-06-11 17:05:39 +02:00
Greg Wilkins c319c19125 convert MetaData to HttpField as a list 2014-06-11 16:53:17 +02:00
Greg Wilkins bbd61f8e19 Multiple mixed in changes and improvements
Simplified HttpParser as per rfc7230
implemented local/remote hpack max table sizes
2014-06-11 15:16:40 +02:00
Greg Wilkins 70223cbda9 add status 200 and method GET to ref set 2014-06-11 10:23:29 +02:00
Simone Bordet 630bee5887 Implemented HTTP2 connection preface. 2014-06-10 18:33:13 +02:00
Greg Wilkins c8184077c7 added logging to hpack 2014-06-10 15:26:54 +02:00
Greg Wilkins 073ad924b0 improve value handling on known literal fields 2014-06-10 14:05:41 +02:00
Greg Wilkins b55dba82a5 use scheme cache 2014-06-10 13:13:38 +02:00
Greg Wilkins 19c4939ede flip encode buffer 2014-06-10 13:05:28 +02:00
Greg Wilkins ab5461d73e fixed hpack literal encoding bug 2014-06-10 12:56:20 +02:00
Greg Wilkins 3c321e9b8f split authority field and hold results in header table 2014-06-09 15:34:09 +02:00
Simone Bordet c1247ff677 Reorganized HTTP2 modules. 2014-06-09 14:01:16 +02:00