Thomas Kriechbaumer
a0d8afd0fc
http2: add request-response to pathod
2015-06-15 15:51:01 +02:00
Thomas Kriechbaumer
30fbf57e4b
delay pathod parsing until needed
...
This allows us to use different languages based on runtime env.
2015-06-15 15:50:45 +02:00
Thomas Kriechbaumer
22811c45dd
fix craft anchor
...
The go-button in the app was broken due to an invalid string representation of the regex. A plain string used as URL prefix simplifies this drastically.
2015-06-15 15:50:45 +02:00
Thomas Kriechbaumer
0bc8fa1d0d
http2: add pathoc and language tests
2015-06-15 15:50:44 +02:00
Thomas Kriechbaumer
b7c8021407
http2: using http2 implies SSL
2015-06-15 15:50:44 +02:00
Thomas Kriechbaumer
18a4456397
refactor cmdline tests
2015-06-15 15:50:44 +02:00
Thomas Kriechbaumer
9ececa637d
http2: add warning for missing ALPN support
2015-06-15 15:50:44 +02:00
Thomas Kriechbaumer
6be6595425
pathod: add ALPN support
2015-06-15 15:50:44 +02:00
Thomas Kriechbaumer
293e3c6896
http2: add request-response handling
2015-06-08 10:45:17 +02:00
Thomas Kriechbaumer
722b3ae9cd
http2: setup ALPN
2015-06-08 10:29:50 +02:00
Thomas Kriechbaumer
16361439c4
http2: add command line arguments
2015-06-08 10:10:32 +02:00
Aldo Cortesi
332832278f
100% test coverage
2015-06-08 16:25:33 +12:00
Aldo Cortesi
97fdb9ef0c
More timeout improvements
2015-06-08 15:57:29 +12:00
Aldo Cortesi
317db54666
Revamp timeout handling and test logging
2015-06-08 15:23:56 +12:00
Aldo Cortesi
af22814bc3
Revamp error logging somewhat
2015-06-08 14:01:04 +12:00
Aldo Cortesi
7dff8f0dca
Convert parse_websocket_frame to a generator
2015-06-08 10:58:12 +12:00
Aldo Cortesi
df962f8e7b
Convert parse_pathod to generator
2015-06-07 16:11:32 +12:00
Aldo Cortesi
0da3e51e1c
Make parse_pathoc a generator
...
This lets us do things like this:
get:/:ir,@1:x1000000000
It will also let us expand the language to include a "repeat forever" concept.
2015-06-07 13:18:33 +12:00
Aldo Cortesi
7412ec83f5
Refactor pathoc message receive to use queues and generators
...
This gives us a nicer, thread-safe interface.
2015-06-05 16:03:17 +12:00
Aldo Cortesi
d23691f98c
Improve websocket logging
2015-06-05 12:04:40 +12:00
Aldo Cortesi
0a7da6a9b1
Rudimentary support for reflected websocket frames.
2015-06-04 23:57:23 +12:00
Aldo Cortesi
07d5b90ebf
Shore up test suite.
2015-06-04 20:36:50 +12:00
Aldo Cortesi
182b79ab9e
Refactor to allow dropping to websockets on any anchor point
2015-06-04 20:23:05 +12:00
Aldo Cortesi
ae9f470d2b
Craft anchor is now specified as a regex
...
Unifies this with anchor points.
2015-06-04 19:09:38 +12:00
Aldo Cortesi
c5992b8d23
Refactor Pathod HTTP handlers for clarity
2015-06-04 18:37:13 +12:00
Aldo Cortesi
5a33f31041
Clarify nomenclature, complete nested frame language spec.
2015-06-04 18:14:25 +12:00
Aldo Cortesi
9fda74c65a
Clarify language API, stub out nested websocket frames
2015-06-04 17:18:06 +12:00
Aldo Cortesi
5bee061849
Bump version
2015-06-04 11:15:07 +12:00
Aldo Cortesi
6122f2da44
Change test API to allow multiple pathoc requests
...
Add simple unit test for websocket server
2015-05-31 18:38:11 +12:00
Aldo Cortesi
2ebe994375
logging: Re-raise exception after output
2015-05-31 18:12:39 +12:00
Aldo Cortesi
effd29b51a
Refactor logging, fix conversion to websocket handler
2015-05-31 18:03:41 +12:00
Aldo Cortesi
af66661212
Add timestamps to logs by everywhere
2015-05-31 17:25:36 +12:00
Aldo Cortesi
e7c255a3bb
Refactor, fix a crashing bug by changing the way we specify SANs to pathod
2015-05-31 16:54:52 +12:00
Aldo Cortesi
88ab54fab0
Refactor pathod to allow switching protocol handlers
2015-05-31 14:12:51 +12:00
Aldo Cortesi
2a1a0e1ab2
Prevent autoflake from changing our API
2015-05-30 17:51:48 +12:00
Aldo Cortesi
a09f3e06c3
Factor logger out of pathoc, use it in pathod as well.
2015-05-30 17:43:01 +12:00
Aldo Cortesi
4ed5043c67
Add coding style check, reformat.
2015-05-30 12:03:13 +12:00
Thomas Kriechbaumer
17db4486a8
fix typo
2015-05-29 20:15:37 +02:00
Thomas Kriechbaumer
64d6a11ce5
fix github links
2015-05-29 19:57:06 +02:00
Maximilian Hils
e8ee6d20fe
fix typo
2015-05-26 19:08:55 +02:00
Aldo Cortesi
baf0bac39a
Post-release version bump.
2015-05-26 10:43:42 +12:00
Aldo Cortesi
a43e3e29cf
Remove server example for now.
2015-05-26 09:50:51 +12:00
Aldo Cortesi
dccd57f53b
release prep: bump version, fix doc layout a bit
2015-05-18 10:46:19 +12:00
Aldo Cortesi
bcba55cc26
Strike times token on copy
2015-05-17 16:42:59 +12:00
Aldo Cortesi
abe1f09f2c
HTTP and websocket requests now have an xN clause to repeat
2015-05-17 15:52:56 +12:00
Aldo Cortesi
d80fbc2410
websockets: raw body specification
2015-05-17 15:38:13 +12:00
Aldo Cortesi
bddf81edfc
websockets: lINTEGER to specify payload length
2015-05-17 11:31:02 +12:00
Aldo Cortesi
cd2fb13b3e
websockets: replace the "raw" with a simpler mechanism
...
You can now say "knone" to specifiy that no key should be generated
under any circumstances.
2015-05-17 11:04:53 +12:00
Aldo Cortesi
e4feba5433
Introduce and enfoce uniqueness constraints for language components
2015-05-17 10:43:30 +12:00
Aldo Cortesi
2ee60783b6
websockets: client and server flavors, key and mask specification
2015-05-16 11:31:53 +12:00
Aldo Cortesi
d66dedc6e7
websockets: mask specification
...
- Add a FixedLengthValue
- Use it to implement a 4-byte mask specifier
- Adjust docs
2015-05-16 09:42:47 +12:00
Aldo Cortesi
2beae27541
websockets: fix actions on frames
2015-05-05 11:16:29 +12:00
Aldo Cortesi
1dc2fa0424
pathoc: cope with errors during websocket frame read.
2015-05-05 10:59:37 +12:00
Aldo Cortesi
589deb9fe1
websockets: specification of fin, mask, rsv1-3 bits.
2015-05-04 10:48:35 +12:00
Aldo Cortesi
179cc8dc1f
Split up language docs, document websocket code specification.
2015-05-04 09:54:59 +12:00
Aldo Cortesi
4b2e00acb3
Docs
2015-05-04 08:34:53 +12:00
Aldo Cortesi
5b6d3a80bb
websockets: code specification
2015-05-03 13:54:52 +12:00
Aldo Cortesi
67d2993339
Lower-case rather than upper-case to canonicalize names
...
Marginally less finicky
2015-05-03 12:59:21 +12:00
Aldo Cortesi
3f5ec4b737
PreValue -> Value
2015-05-03 12:54:25 +12:00
Aldo Cortesi
cc434ded89
Clarify token/component split through naming
...
Tokens are now Tok*
2015-05-03 12:53:28 +12:00
Aldo Cortesi
e35e6d90b9
Remove bundled pyparsing, install as external package
...
Adapt ValueLiteral parsing to suit
2015-05-03 10:11:51 +12:00
Aldo Cortesi
bf71a9a2a0
base.PathodSpec -> http.PathodResponse
2015-05-03 08:56:19 +12:00
Aldo Cortesi
a46e17459d
Language: minor refactoring and whitespace
2015-05-03 08:51:57 +12:00
Aldo Cortesi
5d5f2bdd1f
Split out language messages and actions
2015-05-03 08:02:13 +12:00
Aldo Cortesi
24437ba180
Revamp header components in language
2015-05-02 22:32:57 +12:00
Aldo Cortesi
fffee660e5
language: create and use Integer and PreValue generics
2015-05-02 21:42:09 +12:00
Aldo Cortesi
0ffd14372a
Refactor language to move specific tokens into protocol module
...
This patch makes progress on language/http.py
2015-05-02 21:27:11 +12:00
Aldo Cortesi
2091d16387
test coverage: generators and websockets to 100%
2015-05-02 17:19:48 +12:00
Aldo Cortesi
5b48c69a6a
Split language test suite: generators
...
Also remove some unused code
2015-05-02 16:53:48 +12:00
Aldo Cortesi
9109b3cc8c
Massive refactoring to split up language implementation.
2015-05-02 16:17:00 +12:00
Aldo Cortesi
601cdf70c7
websockets: progressive masking.
2015-05-01 10:31:45 +12:00
Aldo Cortesi
3a3ea9d927
pathoc: cope better with disconnect conditions
2015-05-01 09:41:07 +12:00
Aldo Cortesi
b8f40860f5
pathoc: Integrate bytes read/written log into Log handler
2015-04-30 14:42:54 +12:00
Aldo Cortesi
fea3d8e421
Revamp pathoc log output with a context handler
...
This does two things - it gives us a central place to put log utilities,
and it lets us group together related log lines.
2015-04-30 13:59:10 +12:00
Aldo Cortesi
f927701e74
Websocket frame read limit.
2015-04-30 08:03:26 +12:00
Aldo Cortesi
7e69fab331
Stub out websocket read loop and Frame language construct
2015-04-29 10:02:16 +12:00
Aldo Cortesi
5405a4d458
Pull HTTP functionality out of language._Message in prep for frames
2015-04-24 07:35:17 +12:00
Aldo Cortesi
b0ab5297d1
Change the semantics of the craft anchor point specification
...
The anchor point is now defined as /p (rather than /p/), with the specification
for a request just to /p or /p/ being empty.
2015-04-23 17:35:22 +12:00
Aldo Cortesi
dacb350040
pathod: register websocket key from client handshake
2015-04-23 17:11:20 +12:00
Aldo Cortesi
2306a7ab6d
Refactor logging, add some defaults to pathod argument help.
2015-04-23 08:43:57 +12:00
Aldo Cortesi
ce6147ec35
Use get_request_line from netlib.http
2015-04-23 08:24:26 +12:00
Aldo Cortesi
45d1e5cd0e
Example websocket key for mock renders
2015-04-23 07:29:55 +12:00
Aldo Cortesi
61dc01af11
Resolve messages as part of policy check
2015-04-22 16:38:54 +12:00
Aldo Cortesi
5dee4210eb
pathod: flag to set debugging for web interface dev
2015-04-22 15:58:25 +12:00
Aldo Cortesi
99cb0808ab
websockets: server handshake scheme
...
Also refactor settings and resolution interfaces
2015-04-22 15:49:17 +12:00
Aldo Cortesi
65f04bf4d1
First-pass websocket client handshake
2015-04-22 09:31:22 +12:00
Aldo Cortesi
b66be24149
Fix call signature in pathoc.
2015-04-20 18:14:47 +12:00
Aldo Cortesi
33820d9aee
Whitespace, interface refcactoring, sketch websockets language
2015-04-20 15:42:33 +12:00
Aldo Cortesi
be450cf9db
Whitespace, small fixes.
2015-04-20 08:56:47 +12:00
Aldo Cortesi
3891fe5638
Refactor pathoc
...
We're getting ready for websockets. All the output specifiers are now on the
Pathoc object itself - we can't assume that all input and output happens in
response to a method call any more. This has the upside that we can unify the
request/print_request methods.
2015-04-19 18:04:27 +12:00
Aldo Cortesi
f8469a283b
pathoc: Print SSL info only once per connection
2015-04-19 15:55:22 +12:00
Aldo Cortesi
43dadbc2fe
Add SANs specification arguments to pathod
2015-04-19 10:51:03 +12:00
Aldo Cortesi
f332674ce1
100% unit tests
...
- Add SANs to pathod SSLConfig
- Fix tricky SSL establishment error test. Lets see if it's platform portable.
2015-04-19 10:43:16 +12:00
Aldo Cortesi
a5567094ac
Document embedded response specification.
2015-04-18 17:04:24 +12:00
Aldo Cortesi
baf961cde0
Unit test++ for PathodSpec
2015-04-18 16:36:45 +12:00
Aldo Cortesi
3061bdd0c2
Unit tests: cmdline.pathod
2015-04-17 18:00:46 +12:00
Aldo Cortesi
f8e95db6b0
housekeeping: ++tests, coverage annotations
2015-04-17 17:45:50 +12:00
Aldo Cortesi
09e995ab5c
Improvements to pathoc repeat requests
...
- Pathoc will now keep trying if connections failed
- Add a -w option to specify a wait time between requests
2015-03-14 11:54:47 +11:00
Aldo Cortesi
295c8340a3
Bump to 0.11.1
2014-11-15 12:44:26 +13:00
Aldo Cortesi
63d2403558
Merge branch 'master' of ssh.github.com:mitmproxy/pathod
2014-11-15 12:42:38 +13:00