On the homepage is a search box. This lets you search for a toilet. A toilet is the vessel for receiving and exploring your dumps. Search for a string that you can remember and is unique to you and you will either be dropped off at an empty toilet, or somebody else's toilet who came up with your unique string first. Once you have your toilet, you can show the configuration options (described below), see the URL to submit dumps to, and explore any dumps you already have.
2) Submit your dumps to the URLThe toilet page will show you your submit URL. (the toilet URL with /post appended). Point your client at this and submit away. You can also just go to this URL in a browser to test configuration or see for yourself that it works and it's your client that is broken. :)
3) Review your dumpsThe Toilet page will show dumps as they come in (after you reload it). You can click into any dump to see the values, the content of files, etc. You can also view your dumps as JSON or text blobs (useful for programatic access).
On the toilet page there is an option to show configuration. This lets you update the following values:
HTTP AuthThis sets up basic HTTP auth so incoming posts must properly validate to be saved. This is helpful for testing that your client is handling Auth properly. These values are both stored and transmitted in plain text. So don't use sensitive strings here.
Status CodeThis is the HTTP status code the server responds to the request with. 200 is the default, 202 is another common value. You can use this to testing situations like receiving a 500, or a 404.
BodyThis is the body of the response. You can test different responses. Paste a JSON string if that's what your client should expect from the server. Try pasting different possible error messages. There are also 3 hardcoded strings which cause special behavior. To use these, replace the body with any of these strings (with no whitespace):
This causes the server to sleep the specified seconds before returning a result. Useful for testing some timeout and race condition stuff. Unfortunately
I can't sleep indefinitely because threads create cost so the max value for delay is 5.
*This is currently broken because AppEngine understandably doesn't like to wait around being useless. Will fix!
This causes the server to get the contents of the post body before parsing the form. Because this is a stream, it means any post parameters stored in the post body will not appear as normal parameters. This probably also breaks multipart parsing as well.