diff --git a/httpbin/templates/httpbin.1.html b/httpbin/templates/httpbin.1.html deleted file mode 100644 index 630d699e7ff054dc97337da7601d9c70d09bb4a3..0000000000000000000000000000000000000000 --- a/httpbin/templates/httpbin.1.html +++ /dev/null @@ -1,143 +0,0 @@ -<div class='mp'> -<h1>go-httpbin(1)</h1> -<p>A golang port of the venerable <a href="https://httpbin.org/">httpbin.org</a> HTTP request & response testing service.</p> - -<h2 id="ENDPOINTS">ENDPOINTS</h2> - -<ul> -<li><a href="/" data-bare-link="true"><code>/</code></a> This page.</li> -<li><a href="/ip" data-bare-link="true"><code>/ip</code></a> Returns Origin IP.</li> -<li><a href="/user-agent" data-bare-link="true"><code>/user-agent</code></a> Returns user-agent.</li> -<li><a href="/headers" data-bare-link="true"><code>/headers</code></a> Returns header dict.</li> -<li><a href="/get" data-bare-link="true"><code>/get</code></a> Returns GET data.</li> -<li><code>/post</code> Returns POST data.</li> -<li><code>/patch</code> Returns PATCH data.</li> -<li><code>/put</code> Returns PUT data.</li> -<li><code>/delete</code> Returns DELETE data</li> -<li><a href="/encoding/utf8"><code>/encoding/utf8</code></a> Returns page containing UTF-8 data.</li> -<li><a href="/gzip" data-bare-link="true"><code>/gzip</code></a> Returns gzip-encoded data.</li> -<li><a href="/deflate" data-bare-link="true"><code>/deflate</code></a> Returns deflate-encoded data.</li> -<li><a href="/status/418"><code>/status/:code</code></a> Returns given HTTP Status code.</li> -<li><a href="/response-headers?Content-Type=text%2Fplain%3B+charset%3DUTF-8&Server=httpbin"><code>/response-headers?key=val</code></a> Returns given response headers.</li> -<li><a href="/redirect/6"><code>/redirect/:n</code></a> 302 Redirects <em>n</em> times.</li> -<li><a href="/redirect-to?url=http%3A%2F%2Fexample.com%2F"><code>/redirect-to?url=foo</code></a> 302 Redirects to the <em>foo</em> URL.</li> -<li><a href="/relative-redirect/6"><code>/relative-redirect/:n</code></a> 302 Relative redirects <em>n</em> times.</li> -<li><a href="/absolute-redirect/6"><code>/absolute-redirect/:n</code></a> 302 Absolute redirects <em>n</em> times.</li> -<li><a href="/cookies" data-bare-link="true"><code>/cookies</code></a> Returns cookie data.</li> -<li><a href="/cookies/set?k2=v2&k1=v1"><code>/cookies/set?name=value</code></a> Sets one or more simple cookies.</li> -<li><a href="/cookies/delete?k2=&k1="><code>/cookies/delete?name</code></a> Deletes one or more simple cookies.</li> -<li><a href="/basic-auth/user/passwd"><code>/basic-auth/:user/:passwd</code></a> Challenges HTTPBasic Auth.</li> -<li><a href="/hidden-basic-auth/user/passwd"><code>/hidden-basic-auth/:user/:passwd</code></a> 404'd BasicAuth.</li> -<li><a href="/digest-auth/auth/user/passwd"><code>/digest-auth/:qop/:user/:passwd</code></a> Challenges HTTP Digest Auth.</li> -<li><a href="/stream/20"><code>/stream/:n</code></a> Streams <em>min(n, 100)</em> lines.</li> -<li><a href="/delay/3"><code>/delay/:n</code></a> Delays responding for <em>min(n, 10)</em> seconds.</li> -<li><a href="/drip?duration=5&numbytes=5&code=200"><code>/drip?numbytes=n&duration=s&delay=s&code=code</code></a> Drips data over a duration after an optional initial delay, then (optionally) returns with the given status code.</li> -<li><a href="/range/1024"><code>/range/1024?duration=s&chunk_size=code</code></a> Streams <em>n</em> bytes, and allows specifying a <em>Range</em> header to select a subset of the data. Accepts a <em>chunk_size</em> and request <em>duration</em> parameter.</li> -<li><a href="/html" data-bare-link="true"><code>/html</code></a> Renders an HTML Page.</li> -<li><a href="/robots.txt" data-bare-link="true"><code>/robots.txt</code></a> Returns some robots.txt rules.</li> -<li><a href="/deny" data-bare-link="true"><code>/deny</code></a> Denied by robots.txt file.</li> -<li><a href="/cache" data-bare-link="true"><code>/cache</code></a> Returns 200 unless an If-Modified-Since or If-None-Match header is provided, when it returns a 304.</li> -<li><a href="/cache/60"><code>/cache/:n</code></a> Sets a Cache-Control header for <em>n</em> seconds.</li> -<li><a href="/bytes/1024"><code>/bytes/:n</code></a> Generates <em>n</em> random bytes of binary data, accepts optional <em>seed</em> integer parameter.</li> -<li><a href="/stream-bytes/1024"><code>/stream-bytes/:n</code></a> Streams <em>n</em> random bytes of binary data, accepts optional <em>seed</em> and <em>chunk_size</em> integer parameters.</li> -<li><a href="/links/10"><code>/links/:n</code></a> Returns page containing <em>n</em> HTML links.</li> -<li><a href="/image"><code>/image</code></a> Returns page containing an image based on sent Accept header.</li> -<li><a href="/image/png"><code>/image/png</code></a> Returns page containing a PNG image.</li> -<li><a href="/image/jpeg"><code>/image/jpeg</code></a> Returns page containing a JPEG image.</li> -<li><a href="/image/webp"><code>/image/webp</code></a> Returns page containing a WEBP image.</li> -<li><a href="/image/svg"><code>/image/svg</code></a> Returns page containing a SVG image.</li> -<li><a href="/forms/post" data-bare-link="true"><code>/forms/post</code></a> HTML form that submits to <em>/post</em></li> -<li><a href="/xml" data-bare-link="true"><code>/xml</code></a> Returns some XML</li> -</ul> - -<h2 id="DESCRIPTION">DESCRIPTION</h2> - -<p>Testing an HTTP Library can become difficult sometimes. <a href="http://requestb.in">RequestBin</a> is fantastic for testing POST requests, but doesn't let you control the response. This exists to cover all kinds of HTTP scenarios. Additional endpoints are being considered.</p> - -<p>All endpoint responses are JSON-encoded.</p> - -<h2 id="EXAMPLES">EXAMPLES</h2> - -<h3 id="-curl-http-httpbin-org-ip">$ curl http://httpbin.org/ip</h3> - -<pre><code>{"origin": "24.127.96.129"} -</code></pre> - -<h3 id="-curl-http-httpbin-org-user-agent">$ curl http://httpbin.org/user-agent</h3> - -<pre><code>{"user-agent": "curl/7.19.7 (universal-apple-darwin10.0) libcurl/7.19.7 OpenSSL/0.9.8l zlib/1.2.3"} -</code></pre> - -<h3 id="-curl-http-httpbin-org-get">$ curl http://httpbin.org/get</h3> - -<pre><code>{ - "args": {}, - "headers": { - "Accept": "*/*", - "Connection": "close", - "Content-Length": "", - "Content-Type": "", - "Host": "httpbin.org", - "User-Agent": "curl/7.19.7 (universal-apple-darwin10.0) libcurl/7.19.7 OpenSSL/0.9.8l zlib/1.2.3" - }, - "origin": "24.127.96.129", - "url": "http://httpbin.org/get" -} -</code></pre> - -<h3 id="-curl-I-http-httpbin-org-status-418">$ curl -I http://httpbin.org/status/418</h3> - -<pre><code>HTTP/1.1 418 I'M A TEAPOT -Server: nginx/0.7.67 -Date: Mon, 13 Jun 2011 04:25:38 GMT -Connection: close -x-more-info: http://tools.ietf.org/html/rfc2324 -Content-Length: 135 -</code></pre> - -<h3 id="-curl-https-httpbin-org-get-show_env-1">$ curl https://httpbin.org/get?show_env=1</h3> - -<pre><code>{ - "headers": { - "Content-Length": "", - "Accept-Language": "en-US,en;q=0.8", - "Accept-Encoding": "gzip,deflate,sdch", - "X-Forwarded-Port": "443", - "X-Forwarded-For": "109.60.101.240", - "Host": "httpbin.org", - "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", - "User-Agent": "Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.83 Safari/535.11", - "X-Request-Start": "1350053933441", - "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.3", - "Connection": "keep-alive", - "X-Forwarded-Proto": "https", - "Cookie": "_gauges_unique_day=1; _gauges_unique_month=1; _gauges_unique_year=1; _gauges_unique=1; _gauges_unique_hour=1", - "Content-Type": "" - }, - "args": { - "show_env": "1" - }, - "origin": "109.60.101.240", - "url": "http://httpbin.org/get?show_env=1" -} -</code></pre> - - -<h2 id="Changelog">Changelog</h2> - -<ul> -<li>0.1.0: Initial port</li> -</ul> - - -<h2 id="AUTHOR">AUTHOR</h2> - -<p>Golang port by <a href="https://github.com/mccutchen">Will McCutchen</a>.</p> -<p>From a <a href="https://www.runscope.com/community">Runscope Community Project</a>.</p> -<p>Originally created by <a href="http://kennethreitz.com/">Kenneth Reitz</a>.</p> - -<h2 id="SEE-ALSO">SEE ALSO</h2> - -<p><a href="https://httpbin.org/">httpbin.org</a> — the original httpbin</p> - -</div> diff --git a/httpbin/templates/index.html b/httpbin/templates/index.html index e18edb90e5aebf9edd2fc3f4cc1739ef572630e1..2733a3ed9e24f4518b6243208a5e544c55d6ae2c 100644 --- a/httpbin/templates/index.html +++ b/httpbin/templates/index.html @@ -52,7 +52,149 @@ <body id='manpage'> -{{template "httpbin.1.html"}} +<div class='mp'> +<h1>go-httpbin(1)</h1> +<p>A golang port of the venerable <a href="https://httpbin.org/">httpbin.org</a> HTTP request & response testing service.</p> + +<h2 id="ENDPOINTS">ENDPOINTS</h2> + +<ul> +<li><a href="/" data-bare-link="true"><code>/</code></a> This page.</li> +<li><a href="/ip" data-bare-link="true"><code>/ip</code></a> Returns Origin IP.</li> +<li><a href="/user-agent" data-bare-link="true"><code>/user-agent</code></a> Returns user-agent.</li> +<li><a href="/headers" data-bare-link="true"><code>/headers</code></a> Returns header dict.</li> +<li><a href="/get" data-bare-link="true"><code>/get</code></a> Returns GET data.</li> +<li><code>/post</code> Returns POST data.</li> +<li><code>/patch</code> Returns PATCH data.</li> +<li><code>/put</code> Returns PUT data.</li> +<li><code>/delete</code> Returns DELETE data</li> +<li><a href="/encoding/utf8"><code>/encoding/utf8</code></a> Returns page containing UTF-8 data.</li> +<li><a href="/gzip" data-bare-link="true"><code>/gzip</code></a> Returns gzip-encoded data.</li> +<li><a href="/deflate" data-bare-link="true"><code>/deflate</code></a> Returns deflate-encoded data.</li> +<li><a href="/status/418"><code>/status/:code</code></a> Returns given HTTP Status code.</li> +<li><a href="/response-headers?Content-Type=text%2Fplain%3B+charset%3DUTF-8&Server=httpbin"><code>/response-headers?key=val</code></a> Returns given response headers.</li> +<li><a href="/redirect/6"><code>/redirect/:n</code></a> 302 Redirects <em>n</em> times.</li> +<li><a href="/redirect-to?url=http%3A%2F%2Fexample.com%2F"><code>/redirect-to?url=foo</code></a> 302 Redirects to the <em>foo</em> URL.</li> +<li><a href="/relative-redirect/6"><code>/relative-redirect/:n</code></a> 302 Relative redirects <em>n</em> times.</li> +<li><a href="/absolute-redirect/6"><code>/absolute-redirect/:n</code></a> 302 Absolute redirects <em>n</em> times.</li> +<li><a href="/cookies" data-bare-link="true"><code>/cookies</code></a> Returns cookie data.</li> +<li><a href="/cookies/set?k2=v2&k1=v1"><code>/cookies/set?name=value</code></a> Sets one or more simple cookies.</li> +<li><a href="/cookies/delete?k2=&k1="><code>/cookies/delete?name</code></a> Deletes one or more simple cookies.</li> +<li><a href="/basic-auth/user/passwd"><code>/basic-auth/:user/:passwd</code></a> Challenges HTTPBasic Auth.</li> +<li><a href="/hidden-basic-auth/user/passwd"><code>/hidden-basic-auth/:user/:passwd</code></a> 404'd BasicAuth.</li> +<li><a href="/digest-auth/auth/user/passwd"><code>/digest-auth/:qop/:user/:passwd</code></a> Challenges HTTP Digest Auth.</li> +<li><a href="/stream/20"><code>/stream/:n</code></a> Streams <em>min(n, 100)</em> lines.</li> +<li><a href="/delay/3"><code>/delay/:n</code></a> Delays responding for <em>min(n, 10)</em> seconds.</li> +<li><a href="/drip?duration=5&numbytes=5&code=200"><code>/drip?numbytes=n&duration=s&delay=s&code=code</code></a> Drips data over a duration after an optional initial delay, then (optionally) returns with the given status code.</li> +<li><a href="/range/1024"><code>/range/1024?duration=s&chunk_size=code</code></a> Streams <em>n</em> bytes, and allows specifying a <em>Range</em> header to select a subset of the data. Accepts a <em>chunk_size</em> and request <em>duration</em> parameter.</li> +<li><a href="/html" data-bare-link="true"><code>/html</code></a> Renders an HTML Page.</li> +<li><a href="/robots.txt" data-bare-link="true"><code>/robots.txt</code></a> Returns some robots.txt rules.</li> +<li><a href="/deny" data-bare-link="true"><code>/deny</code></a> Denied by robots.txt file.</li> +<li><a href="/cache" data-bare-link="true"><code>/cache</code></a> Returns 200 unless an If-Modified-Since or If-None-Match header is provided, when it returns a 304.</li> +<li><a href="/cache/60"><code>/cache/:n</code></a> Sets a Cache-Control header for <em>n</em> seconds.</li> +<li><a href="/bytes/1024"><code>/bytes/:n</code></a> Generates <em>n</em> random bytes of binary data, accepts optional <em>seed</em> integer parameter.</li> +<li><a href="/stream-bytes/1024"><code>/stream-bytes/:n</code></a> Streams <em>n</em> random bytes of binary data, accepts optional <em>seed</em> and <em>chunk_size</em> integer parameters.</li> +<li><a href="/links/10"><code>/links/:n</code></a> Returns page containing <em>n</em> HTML links.</li> +<li><a href="/image"><code>/image</code></a> Returns page containing an image based on sent Accept header.</li> +<li><a href="/image/png"><code>/image/png</code></a> Returns page containing a PNG image.</li> +<li><a href="/image/jpeg"><code>/image/jpeg</code></a> Returns page containing a JPEG image.</li> +<li><a href="/image/webp"><code>/image/webp</code></a> Returns page containing a WEBP image.</li> +<li><a href="/image/svg"><code>/image/svg</code></a> Returns page containing a SVG image.</li> +<li><a href="/forms/post" data-bare-link="true"><code>/forms/post</code></a> HTML form that submits to <em>/post</em></li> +<li><a href="/xml" data-bare-link="true"><code>/xml</code></a> Returns some XML</li> +</ul> + +<h2 id="DESCRIPTION">DESCRIPTION</h2> + +<p>Testing an HTTP Library can become difficult sometimes. <a href="http://requestb.in">RequestBin</a> is fantastic for testing POST requests, but doesn't let you control the response. This exists to cover all kinds of HTTP scenarios. Additional endpoints are being considered.</p> + +<p>All endpoint responses are JSON-encoded.</p> + +<h2 id="EXAMPLES">EXAMPLES</h2> + +<h3 id="-curl-http-httpbin-org-ip">$ curl http://httpbin.org/ip</h3> + +<pre><code>{"origin": "24.127.96.129"} +</code></pre> + +<h3 id="-curl-http-httpbin-org-user-agent">$ curl http://httpbin.org/user-agent</h3> + +<pre><code>{"user-agent": "curl/7.19.7 (universal-apple-darwin10.0) libcurl/7.19.7 OpenSSL/0.9.8l zlib/1.2.3"} +</code></pre> + +<h3 id="-curl-http-httpbin-org-get">$ curl http://httpbin.org/get</h3> + +<pre><code>{ + "args": {}, + "headers": { + "Accept": "*/*", + "Connection": "close", + "Content-Length": "", + "Content-Type": "", + "Host": "httpbin.org", + "User-Agent": "curl/7.19.7 (universal-apple-darwin10.0) libcurl/7.19.7 OpenSSL/0.9.8l zlib/1.2.3" + }, + "origin": "24.127.96.129", + "url": "http://httpbin.org/get" +} +</code></pre> + +<h3 id="-curl-I-http-httpbin-org-status-418">$ curl -I http://httpbin.org/status/418</h3> + +<pre><code>HTTP/1.1 418 I'M A TEAPOT +Server: nginx/0.7.67 +Date: Mon, 13 Jun 2011 04:25:38 GMT +Connection: close +x-more-info: http://tools.ietf.org/html/rfc2324 +Content-Length: 135 +</code></pre> + +<h3 id="-curl-https-httpbin-org-get-show_env-1">$ curl https://httpbin.org/get?show_env=1</h3> + +<pre><code>{ + "headers": { + "Content-Length": "", + "Accept-Language": "en-US,en;q=0.8", + "Accept-Encoding": "gzip,deflate,sdch", + "X-Forwarded-Port": "443", + "X-Forwarded-For": "109.60.101.240", + "Host": "httpbin.org", + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", + "User-Agent": "Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.83 Safari/535.11", + "X-Request-Start": "1350053933441", + "Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.3", + "Connection": "keep-alive", + "X-Forwarded-Proto": "https", + "Cookie": "_gauges_unique_day=1; _gauges_unique_month=1; _gauges_unique_year=1; _gauges_unique=1; _gauges_unique_hour=1", + "Content-Type": "" + }, + "args": { + "show_env": "1" + }, + "origin": "109.60.101.240", + "url": "http://httpbin.org/get?show_env=1" +} +</code></pre> + + +<h2 id="Changelog">Changelog</h2> + +<ul> +<li>0.1.0: Initial port</li> +</ul> + + +<h2 id="AUTHOR">AUTHOR</h2> + +<p>Golang port by <a href="https://github.com/mccutchen">Will McCutchen</a>.</p> +<p>From a <a href="https://www.runscope.com/community">Runscope Community Project</a>.</p> +<p>Originally created by <a href="http://kennethreitz.com/">Kenneth Reitz</a>.</p> + +<h2 id="SEE-ALSO">SEE ALSO</h2> + +<p><a href="https://httpbin.org/">httpbin.org</a> — the original httpbin</p> + +</div> </body>