Commit Graph

232 Commits

Author SHA1 Message Date
Aldo Cortesi eb43291b3c Note that pauses are skipped during previews. 2012-07-25 12:49:22 +12:00
Aldo Cortesi 24f69419df Unit test about page. 2012-07-25 12:39:51 +12:00
Aldo Cortesi adac9a35c3 Use tabs for request/response definitions on language docs page. 2012-07-25 12:36:53 +12:00
Aldo Cortesi 87306164a6 Expand examples for responses, remove dupes from pathod doc. 2012-07-25 12:18:36 +12:00
Aldo Cortesi 0b916ebbb1 Add a basic about page. 2012-07-25 11:55:44 +12:00
Aldo Cortesi 410144c579 Add examples for each preview form. 2012-07-25 11:36:19 +12:00
Aldo Cortesi e7e6a60246 Nicer error for empty preview spec submission. 2012-07-25 10:55:00 +12:00
Aldo Cortesi 59f408dcf4 Refine parse error message a bit. 2012-07-25 10:44:21 +12:00
Aldo Cortesi 8cfbc2f80e Refactor test.py, add unit tests for app.py corner case. 2012-07-25 10:34:57 +12:00
Aldo Cortesi e1df7f47a6 Sizing and placeholder for preview forms. 2012-07-25 10:24:09 +12:00
Aldo Cortesi 7dab85e8b1 Handle file access denied errors in previews. 2012-07-25 00:18:23 +12:00
Aldo Cortesi 64ef0a4561 Swap the offset, seconds arguments for the pause operator.
This makes it uniform with the other operators.s
2012-07-24 23:57:18 +12:00
Aldo Cortesi cb09488dc8 Make actions at end of message work. 2012-07-24 23:49:58 +12:00
Aldo Cortesi 8f0ebb405d Hide "go" button if crafting is off. Use configured crafting anchor point. 2012-07-24 23:38:41 +12:00
Aldo Cortesi ab59d6dccf Add preview for pathoc requests to web app. 2012-07-24 23:13:04 +12:00
Aldo Cortesi 6c565e778f Make previews safer by stripping pauses. 2012-07-24 22:38:48 +12:00
Aldo Cortesi e9de11f0e3 Don't add stuff to our internal log buffer if noapi is on. 2012-07-24 22:30:15 +12:00
Aldo Cortesi 11896d2118 Turn off /log when noapi is set. 2012-07-24 22:27:04 +12:00
Aldo Cortesi eb1f2c3fc4 Add option to specify craft anchor point. 2012-07-24 21:51:43 +12:00
Aldo Cortesi 97fe026c32 Add basic docs for request spec language. 2012-07-24 21:45:05 +12:00
Aldo Cortesi 94b491bb27 Add a Host header to pathoc requests by default. 2012-07-24 21:38:28 +12:00
Aldo Cortesi 9502eeadaa Document raw flag. 2012-07-24 12:52:53 +12:00
Aldo Cortesi a9e60fa3e6 Add a Date header to server responses, unless raw is set. 2012-07-24 12:46:14 +12:00
Aldo Cortesi dbed251fb9 Add a raw modifier to requests and responses, which turn off automatic additions.
For now, this just turns off adding a Content-Length header when a body is specified.
2012-07-24 12:18:14 +12:00
Aldo Cortesi 2dd2137d44 Better handling of binary data output by pathoc. 2012-07-24 00:00:55 +12:00
Aldo Cortesi a950a4d7a3 Add pathod --noapi to turn off the service API. 2012-07-23 23:31:26 +12:00
Aldo Cortesi 190392ea13 Add a --nocraft option to pathod that turns off crafting. 2012-07-23 21:39:31 +12:00
Aldo Cortesi 622a2b5607 Add a --noweb option to turn web iface off, refactor unit tests. 2012-07-23 19:55:33 +12:00
Aldo Cortesi eba485f5eb 100% unit test coverage 2012-07-23 19:25:57 +12:00
Aldo Cortesi 763e1ff786 pathod.py unit tests++ 2012-07-23 17:53:17 +12:00
Aldo Cortesi 1d1098687c 100% test coverage for pathoc.py 2012-07-23 17:42:44 +12:00
Aldo Cortesi c1f75dd5a3 Use local scrolling with a JQuery module, because anchor jumps are braindead. 2012-07-23 17:30:50 +12:00
Aldo Cortesi 091d90011b Unify offset specifications, and document them. 2012-07-23 17:19:25 +12:00
Aldo Cortesi 2880fee4e3 Escape unprintable content in preview. 2012-07-23 16:39:25 +12:00
Aldo Cortesi 773ada882d Unit tests for most of app.py, return 404 for unknown log entry. 2012-07-23 16:18:47 +12:00
Aldo Cortesi 3027aae142 Use configured size limit to keep previews in check. 2012-07-23 15:38:06 +12:00
Aldo Cortesi 5283bb2507 Refactor rparse.InternalResponse -> rparse.PathodErrorResponse 2012-07-23 15:11:40 +12:00
Aldo Cortesi 1c45f5b05c Use policy hook to apply a size limit in pathod, add corresponding cmdline arg. 2012-07-23 15:03:56 +12:00
Aldo Cortesi c7b5faf7db Add hooks for policy checks of served data. 2012-07-23 14:37:00 +12:00
Aldo Cortesi 204a556aa7 Add function for effective length calculation when actions are present. 2012-07-23 10:47:33 +12:00
Aldo Cortesi 32bd16aa31 Make file generators display nicely in pathoc actions dump. 2012-07-22 23:51:44 +12:00
Aldo Cortesi 96db3557ce Constrain file access to configured directory in pathod. 2012-07-22 23:46:56 +12:00
Aldo Cortesi 1b03fd6780 Allow execution of specs from file, using +./path 2012-07-22 23:37:46 +12:00
Aldo Cortesi 33208b8720 Doc reorg. 2012-07-22 22:24:16 +12:00
Aldo Cortesi 817e550aa1 Multiline specifications for pathod and pathoc. 2012-07-22 15:26:05 +12:00
Aldo Cortesi 1e93e42883 Escape special characters in first line error log. 2012-07-22 12:40:27 +12:00
Aldo Cortesi 8d8ede7e26 Handle invalid content length headers. 2012-07-22 12:30:10 +12:00
Aldo Cortesi 7a49cdfef3 More robust response handling. 2012-07-21 20:50:41 +12:00
Aldo Cortesi 86fe199988 pathoc: add a flag to dump request information. 2012-07-21 20:20:37 +12:00
Aldo Cortesi 059a232903 Add support for client timeout to pathoc. 2012-07-21 16:19:44 +12:00
Aldo Cortesi 3e6f440b8d Document Python-style string escaping. 2012-07-21 14:17:41 +12:00
Aldo Cortesi 8ec44c6277 Allow Python string escape sequences in value literals. 2012-07-21 14:12:45 +12:00
Aldo Cortesi 8e0c01ae39 Fine-tuning for injection: docs, bugfixes. 2012-07-20 23:47:34 +12:00
Aldo Cortesi d7841898e3 Add an injection operator. 2012-07-20 23:36:39 +12:00
Aldo Cortesi 2bdbbaa8af Convert documentation to HTML, fix styling. 2012-07-20 23:19:58 +12:00
Aldo Cortesi 21ef35fd28 Much simpler rewrite of inner data sending loop.
We don't have to do the asynchronous code contortion anymore.
2012-07-20 20:14:35 +12:00
Aldo Cortesi 3d9e8b2dbf We shouldn't ever get a socket error emanating from netlib. 2012-07-20 15:21:36 +12:00
Aldo Cortesi 03f4dcc02b Extend test suite to cover SSL. Log SSL connection errors. 2012-07-20 13:21:33 +12:00
Aldo Cortesi 76f0c3ea78 Handle invalid first line errors, add an error log buffer type. 2012-07-20 11:40:37 +12:00
Aldo Cortesi 1bb93176da Handle NetLibDisconnect error. 2012-07-09 11:09:37 +12:00
Aldo Cortesi 2cb55ee0f5 Factor out request printing in to a method, and test it. 2012-06-30 10:51:13 +12:00
Aldo Cortesi 654a84174a Move docs into pathod server. 2012-06-29 11:53:59 +12:00
Aldo Cortesi 1b42f5ab1f Allow naked literals for path specification. 2012-06-29 10:42:15 +12:00
Aldo Cortesi 9588da4ab4 Catch errors that may happen on interpreter shutdown. 2012-06-27 16:15:22 +12:00
Aldo Cortesi 8f148b6b14 Split pathod and pathoc daemon test suites out. 2012-06-26 17:28:07 +12:00
Aldo Cortesi a68b4498b8 Allow naked value literal for pathoc path specifications. 2012-06-26 15:36:59 +12:00
Aldo Cortesi 65aef81997 parse -> parse_response in web app 2012-06-26 15:09:05 +12:00
Aldo Cortesi 33be5a72bf Fixed the WSGI server hang in netlib, remove fudge. 2012-06-26 14:49:40 +12:00
Aldo Cortesi 15aab74ddb Catch and log SSL connection errors. Improve log format. 2012-06-26 11:03:35 +12:00
Aldo Cortesi f32258e8f7 Port pathoc to new netlib API. Add SNI. 2012-06-26 10:15:11 +12:00
Aldo Cortesi 8352c0278f Handle client close more gracefully. 2012-06-25 11:34:29 +12:00
Aldo Cortesi 3d8610b6bc Move server to new explicit netlib API. 2012-06-25 11:22:44 +12:00
Aldo Cortesi 15c48cfc5e Simple HTTP connection keep-alive for pathod. 2012-06-24 23:11:25 +12:00
Aldo Cortesi a747043cc8 Use http.read_response to read server response.
Also add a few different output formats, and a verbosity flag.
2012-06-24 22:59:20 +12:00
Aldo Cortesi ddda57179a read_headers now returns an ODictCaseless object. 2012-06-24 21:49:43 +12:00
Aldo Cortesi 65487ead6d Logging truss for pathod. 2012-06-24 21:40:31 +12:00
Aldo Cortesi 90c6fb394d Sketch out pathoc commandline interaction. 2012-06-24 21:10:10 +12:00
Aldo Cortesi 8bec99f858 Request service rendering. 2012-06-24 19:12:52 +12:00
Aldo Cortesi 2ac84be7cb Add Path specification to request parser. 2012-06-24 18:38:22 +12:00
Aldo Cortesi f8622ea914 Simple request spec parsing. 2012-06-24 17:47:55 +12:00
Aldo Cortesi 75f06d56cd Request method parsing. 2012-06-24 17:23:37 +12:00
Aldo Cortesi d4ad3f0b2c Refactor to extract ready_actions and write_values. 2012-06-24 17:01:04 +12:00
Aldo Cortesi 4fc64ac04f Enable anchors on command line. 2012-06-24 16:38:32 +12:00
Aldo Cortesi e6aa9ff675 Re-enable anchors. 2012-06-24 16:20:50 +12:00
Aldo Cortesi 877b5a2d11 Add staticdir to test.Test. 2012-06-24 15:12:31 +12:00
Aldo Cortesi 2e558b7e9d Fix disconnect, improve coverage, enable file value specifier. 2012-06-24 15:07:45 +12:00
Aldo Cortesi b71e2f6f2b More doc refinement. 2012-06-24 11:14:54 +12:00
Aldo Cortesi e236d7746a Move http.py to netlib.http_status 2012-06-23 18:34:35 +12:00
Aldo Cortesi cb2f11a68e Bump version, adapt for API canges in netlib. 2012-06-23 14:06:54 +12:00
Aldo Cortesi b335b3a335 Remove last vestige of Tornado pathod. 2012-06-21 17:00:04 +12:00
Aldo Cortesi cd8fba1d70 Finalize porting built-in web app to Flask. 2012-06-21 16:54:49 +12:00
Aldo Cortesi f88e899274 Built-in app: Index page. 2012-06-21 16:25:27 +12:00
Aldo Cortesi f0fd33fb11 Log inspection and manipulation from tests. 2012-06-21 15:39:40 +12:00
Aldo Cortesi 12c140b951 Restore client argument parsing. Add thread-safe logging subsystem. 2012-06-21 14:29:49 +12:00
Aldo Cortesi 1089a52f3d Disconnect, rest refactoring. 2012-06-21 10:56:30 +12:00
Aldo Cortesi de00497b40 Re-enable SSL service. 2012-06-20 10:59:38 +12:00
Aldo Cortesi 7922e70037 Basic response generation. 2012-06-20 10:51:37 +12:00
Aldo Cortesi 892ee2a904 Start porting web app to Flask. 2012-06-19 16:57:57 +12:00
Aldo Cortesi a700721891 Porting to netlib proceeds apace. 2012-06-19 13:23:07 +12:00
Aldo Cortesi bd99a13f39 Start refactoring towards netlib, adding SNI and client testing. 2012-06-17 07:57:24 +12:00
Aldo Cortesi b1f410c78d Join thread on test exit to avoid race condition. 2012-06-09 20:42:43 +12:00
Aldo Cortesi 00c8bef0ff Port test suite over to Nose. 2012-06-09 15:08:51 +12:00
Aldo Cortesi a29ebe31dc SSL support for test struss.
Also, rewrite requests usage for latest version.
2012-06-07 17:02:17 +12:00
Aldo Cortesi 9ae53aecd0 We can't sensibly unit test pages withhout firing up a server.
We've just added functionality to do this ourselves, so rip out the old stuff.
2012-06-07 16:35:54 +12:00
Aldo Cortesi 26c8437e88 Better test daemon cleanup, improve utils test coverage. 2012-06-07 14:05:42 +12:00
Aldo Cortesi 34ffe46fa0 Add /api/info, returning general info on the running pathod daemon. 2012-06-07 11:39:37 +12:00
Aldo Cortesi 14b2a69d21 Start building a Pathod unit testing truss.
- Add test.py, which will house the testing API.
- Extend API with a shutdown method, used to terminate the test daemon.
- Refactor to allow clean shutdown.
2012-06-07 11:23:23 +12:00
Aldo Cortesi b5a74a26ee Let Pathod pick an arbitrary empty port if -p 0 is specified. 2012-06-07 10:17:30 +12:00
Aldo Cortesi 049d3d2b45 lippathod/app.py -> libpathod/pathod.py 2012-06-07 08:50:06 +12:00
Aldo Cortesi d171e13fd3 Fix redundant imports, tweak TODO for 0.2 2012-04-30 10:09:16 +12:00
Aldo Cortesi 3365acf69f Clear log API. 2012-04-30 09:54:49 +12:00
Aldo Cortesi 24b0acbfab Log retrieval API. 2012-04-30 09:46:49 +12:00
Aldo Cortesi 04f4f8e2a1 setup.py, LICENSE, README.txt 2012-04-29 21:30:48 +12:00
Aldo Cortesi ccd6eeed4b Make "Go" button on preview form work. 2012-04-29 21:22:00 +12:00
Aldo Cortesi 1431b36c4a Preview in web application. 2012-04-29 21:15:02 +12:00
Aldo Cortesi 37e880b399 Add a rendered version of the docs to the web app. 2012-04-29 18:56:49 +12:00
Aldo Cortesi 5650086ca1 First pass at a README. 2012-04-29 17:37:47 +12:00
Aldo Cortesi f2b11e5d5c Add logging, expose logs through the web app interface. 2012-04-29 16:22:53 +12:00
Aldo Cortesi fd946f0c04 Basic logging. 2012-04-29 14:59:54 +12:00
Aldo Cortesi 6d4500c679 Regularize language even further
- Unify offset specifcation syntax, so there's now oly one form for specify
pauses and disconnects.
- Use @ instead of ! for content generation. Mildy more convenient in the shell.
2012-04-29 14:20:27 +12:00
Aldo Cortesi f03ce81070 Anchor management: list and remove anchors. 2012-04-29 12:18:34 +12:00
Aldo Cortesi 2d88d88f8c Basic anchor adding. 2012-04-29 12:05:38 +12:00
Aldo Cortesi 7ca5c7ae90 Basic SSL support. 2012-04-29 11:18:56 +12:00
Aldo Cortesi 77eca33f26 Refactor application definitions and startup.
Also, create one of the dodgiest web testing trusses in history. Tornado just
seems to have no nice way of doing this.
2012-04-29 10:56:33 +12:00
Aldo Cortesi ee909e265b Add a shortcut for setting Location header. 2012-04-28 22:54:45 +12:00
Aldo Cortesi 2d989e2fbb Add a shortcut for setting content-type. 2012-04-28 22:51:36 +12:00
Aldo Cortesi 5052a6d34e Unify pause and disconnect event frameworks. 2012-04-28 22:28:28 +12:00
Aldo Cortesi 7810ee475d More language tweaks.
Separators this time - move to colon-separated features, use = for header
key/value separation.
2012-04-28 17:28:40 +12:00
Aldo Cortesi a779aac9db Make specification language more terse, and more regular. 2012-04-28 17:12:39 +12:00
Aldo Cortesi 5fc2a63781 Better internal error pages. 2012-04-28 14:43:57 +12:00
Aldo Cortesi 2c8f17eae7 First pass at static file serving. 2012-04-28 13:16:51 +12:00
Aldo Cortesi b4105be21e Initial checkin. 2012-04-28 12:42:03 +12:00