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
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
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
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
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
d8b79e9982
Scripts to reproducibly generate the test certificate
2015-04-19 10:12:15 +12:00
Aldo Cortesi
baf961cde0
Unit test++ for PathodSpec
2015-04-18 16:36:45 +12:00
Aldo Cortesi
ef8e02edc3
Fix test that fails on Travis with a bodge
...
Circumvents a platform difference causing a test failure.
2015-04-17 18:02:03 +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
fe8e27f27b
Housekeeping: .env and fix unit tests
2015-04-17 15:27:50 +12:00
Aldo Cortesi
27c7e9e934
Fix unit tests
2014-11-11 13:34:02 +13:00