Skip to content

Instantly share code, notes, and snippets.

@nils-werner
Created April 13, 2015 10:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nils-werner/d490beeb43ecf3e19477 to your computer and use it in GitHub Desktop.
Save nils-werner/d490beeb43ecf3e19477 to your computer and use it in GitHub Desktop.
Print POST data from requests
#!/usr/bin/python
import time
import BaseHTTPServer
from pprint import pprint
HOST_NAME = '0.0.0.0'
PORT_NUMBER = 8000
class MyHandler(BaseHTTPServer.BaseHTTPRequestHandler):
def do_HEAD(s):
pprint(dict(s.headers))
def do_GET(s):
pprint(dict(s.headers))
def do_POST(s):
pprint(dict(s.headers))
length = int(s.headers.getheader('content-length'))
pprint(s.rfile.read(length))
if __name__ == '__main__':
server_class = BaseHTTPServer.HTTPServer
httpd = server_class((HOST_NAME, PORT_NUMBER), MyHandler)
try:
httpd.serve_forever()
except KeyboardInterrupt:
pass
httpd.server_close()
@nils-werner
Copy link
Author

To use this:

  1. Execute script on your machine
  2. Add webhook to repo: hostname:8000 where hostname is the name of your machine
  3. Click "Test webhook".
  4. Copy output from commandline, clean up (remove usernames, server names etc). Pass data through jslint.com
  5. Create pastie somewhere
  6. There is no step 6

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment