Commit Graph

239 Commits

Author SHA1 Message Date
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 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
Aldo Cortesi 7b4e50bb68 Bump timeouts to appease Travis. 2015-06-08 16:34:21 +12: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 3ad73dfb5b Debug to diagnose Travis races 2015-06-08 15:40:58 +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 9311d60596 Test output to try to figure out why Travis no longer loves us 2015-06-04 20:42:11 +12:00
Aldo Cortesi 07d5b90ebf Shore up test suite. 2015-06-04 20:36:50 +12:00
Aldo Cortesi fb1b9113a1 Try to fix test suite race like a savage. 2015-06-04 19:55:01 +12:00
Aldo Cortesi 80d191ff7c Try to appease Travis 2015-06-04 19:45:22 +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 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 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
Aldo Cortesi bcba55cc26 Strike times token on copy 2015-05-17 16:42:59 +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 589deb9fe1 websockets: specification of fin, mask, rsv1-3 bits. 2015-05-04 10:48:35 +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 a6dbb82936 tests: extract language.writer and language.websocket 2015-05-02 17:10:25 +12:00
Aldo Cortesi 88eabfd8ef language: extract http tests 2015-05-02 17:05:34 +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