Commit Graph

401 Commits

Author SHA1 Message Date
Thomas Kriechbaumer 8ea157775d http2: general improvements 2015-06-12 14:42:07 +02:00
Thomas Kriechbaumer eeaed93a83 improve ALPN integration 2015-06-11 15:37:17 +02:00
Thomas Kriechbaumer 0595585974 fix coding style 2015-06-08 17:00:03 +02:00
Thomas Kriechbaumer fdbb3b76cf http2: add warning if raw data looks like HTTP/1 2015-06-08 16:54:19 +02:00
Thomas Kriechbaumer abbe88c8ce fix non-ALPN supported OpenSSL-related tests 2015-06-08 13:25:42 +02:00
Aldo Cortesi 6b9c2739c2 Merge pull request #66 from Kriechi/improve-alpn-support
improve ALPN support on travis
2015-06-08 23:08:43 +12:00
Thomas Kriechbaumer 4666d1e7bb improve ALPN support on travis 2015-06-08 12:52:06 +02:00
Thomas Kriechbaumer ff478b5290 ignore eggs directory 2015-06-08 12:41:48 +02:00
Thomas Kriechbaumer 359ef46905 fix coding style 2015-06-08 12:29:39 +02:00
Aldo Cortesi 9c48bfb2a5 http2: ditch the logging for now
The API is well designed: it looks like we can get all the information
we need to expose debugging in the caller of the API.
2015-06-06 12:30:53 +12:00
Aldo Cortesi f2d784896d http2: resolve module structure and circular dependencies
- Move implementation out of __init__.py to protocol.py (an anti-pattern
because it makes the kind of structural refactoring we need hard)
- protocol imports frame, frame does not import protocol. To do this, we
shift the default settings to frame. If this feels wrong, we can move
them to a separate module (defaults.py?.).
2015-06-06 12:26:48 +12:00
Aldo Cortesi fcaabeb455 Merge pull request #65 from Kriechi/h2-client
HTTP/2 protocol definition
2015-06-06 11:54:35 +12:00
Thomas Kriechbaumer e39d8aed6d http2: refactor hex to file adapter 2015-06-05 20:55:32 +02:00
Thomas Kriechbaumer f2db8abbe8 use open instead of file 2015-06-05 20:52:11 +02:00
Thomas Kriechbaumer 6c1c6f5f0a http2: fix EchoHandler test helper 2015-06-05 20:49:03 +02:00
Thomas Kriechbaumer e7c84a1ce1 make travis run all tests 2015-06-05 20:22:21 +02:00
Thomas Kriechbaumer 49043131cc increase test coverage 2015-06-05 20:22:20 +02:00
Thomas Kriechbaumer fdc908cb98 http2: add protocol tests 2015-06-05 20:19:48 +02:00
Thomas Kriechbaumer f003f87197 http2: rename module and refactor as strategy 2015-06-05 13:33:37 +02:00
Thomas Kriechbaumer 623dd850e0 http2: add logging and error handling 2015-06-05 13:33:37 +02:00
Thomas Kriechbaumer 40fa113116 http2: change header_block_fragment handling 2015-06-05 13:33:37 +02:00
Thomas Kriechbaumer 5cecbdc168 http2: add basic protocol handling 2015-06-05 13:33:37 +02:00
Thomas Kriechbaumer e4c129026f http2: introduce state for connection objects 2015-06-05 13:33:37 +02:00
Thomas Kriechbaumer b84001e8f0 http2: explicitly mention all arguments in tests 2015-06-05 13:33:37 +02:00
Thomas Kriechbaumer 436291764c http2: fix default settings 2015-06-05 13:33:37 +02:00
Thomas Kriechbaumer 9883509f89 simplify default ssl params for test servers 2015-06-05 13:33:37 +02:00
Aldo Cortesi 0269d0fb8b repr for websocket frames 2015-06-05 17:08:22 +12:00
Aldo Cortesi 2d9b9be1f4 Revert "tcp: clear_log to clear socket logs"
start_log also clears the log, which is good enough.

This reverts commit 4ca62e0d9b.
2015-06-05 11:50:29 +12:00
Aldo Cortesi 4ca62e0d9b tcp: clear_log to clear socket logs 2015-06-05 11:42:06 +12:00
Aldo Cortesi 113c5c187f Bump version 2015-06-04 11:14:47 +12:00
Maximilian Hils c725325a78 Merge pull request #61 from Kriechi/distribute-cffi
distribute cffi correctly
2015-05-31 11:44:27 +02:00
Aldo Cortesi 35856ead07 websockets: nicer human readable 2015-05-31 17:24:44 +12:00
Aldo Cortesi f7bd690e3a When we see an incomplete read with 0 bytes, it's a disconnect
Partially fixes mitmproxy/mitmproxy:#593
2015-05-31 17:18:55 +12:00
Aldo Cortesi 73376e605a Save first byte timestamp for writers too. 2015-05-31 16:54:14 +12:00
Aldo Cortesi 4ec181c140 Move version check to netlib, unit test it. 2015-05-31 13:12:01 +12:00
Thomas Kriechbaumer b395049a85 distribute cffi correctly 2015-05-30 15:15:08 +02:00
Aldo Cortesi f76bfabc5d Adjust pep8 parameters, reformat 2015-05-30 12:02:58 +12:00
Aldo Cortesi 5e4850d3b3 Merge pull request #62 from Kriechi/h2-client
H2 client
2015-05-30 12:01:19 +12:00
Thomas Kriechbaumer 629fa8e552 make tests aware of ALPN & OpenSSL 1.0.2 dependency 2015-05-29 17:04:12 +02:00
Thomas Kriechbaumer c32d8189fa cleanup imports 2015-05-29 17:00:38 +02:00
Thomas Kriechbaumer e2de49596d add HTTP/2-capable client 2015-05-29 15:31:22 +02:00
Thomas Kriechbaumer 780836b182 add ALPN support to TCP abstraction 2015-05-29 15:31:22 +02:00
Thomas Kriechbaumer d50b9be0d5 add generic frame parsing method 2015-05-29 15:31:22 +02:00
Thomas Kriechbaumer 4c469fdee1 add hpack to encode and decode headers 2015-05-29 15:31:22 +02:00
Thomas Kriechbaumer 754f929187 fix default argument
Python evaluates default args during method definition.
So you get the same dict each time you call this method.
Therefore the dict is the SAME actual object each time.
2015-05-29 11:42:46 +02:00
Thomas Kriechbaumer 5288aa3640 add human_readable() to each frame for debugging 2015-05-29 11:42:46 +02:00
Thomas Kriechbaumer bdb62101bb test Address __str__ 2015-05-29 11:42:46 +02:00
Thomas Kriechbaumer e805f2d066 improve travis coding style checks 2015-05-29 11:41:39 +02:00
Aldo Cortesi 1dda164d03 Satisfy autobots. 2015-05-28 12:18:56 +12:00
Aldo Cortesi 41af65a1c4 Merge branch 'Kriechi-cleanup' 2015-05-28 12:12:37 +12:00