{% extends "frame.html" %} {% block body %}
At pathod's heart is a small, terse language for crafting HTTP responses, designed to be easy to specify in a request URL. The simplest way to use pathod is to fire up the daemon, and specify the response behaviour you want using this language in the request URL. Here's a minimal example:
http://localhost:9999/p/200
Everything after the "/p/" path component is a response specifier - in this case just a vanilla 200 OK response. See the docs below to get (much) fancier. You can also add anchors to the pathod server that serve a fixed response whenever a matching URL is requested:
pathod -a "/foo=200"
Here, "/foo" a regex specifying the anchor path, and the part after the "=" is a response specifier.
pathod also has a nifty built-in web interface, which lets you play with the language by previewing responses, exposes activity logs, online help and various other goodies. Try it by visiting the server root:
http://localhost:9999
pathod exposes a simple API, intended to make it possible to drive and inspect the daemon remotely for use in unit testing and the like.
/api/clear_log | A POST to this URL clears the log buffer. |
/api/info | Basic version and configuration info. |
/api/log |
Returns the current log buffer. At the moment the buffer size is 500 entries -
when the log grows larger than this, older entries are discarded. The returned
data is a JSON dictionary, with the form:
{ 'log': [ ENTRIES ] }You can preview the JSON data returned for a log entry through the built-in web interface. |
Pathod uses the non-standard 800 response code to indicate internal errors, to distinguish them from crafted responses. For example, a request to:
http://localhost:9999/p/foo
... will return an 800 response because "foo" is not a valid page specifier.