{"id":17456611,"url":"https://github.com/martinthoma/postbin","last_synced_at":"2025-04-24T01:41:37.600Z","repository":{"id":249147175,"uuid":"830665245","full_name":"MartinThoma/postbin","owner":"MartinThoma","description":"A standalone web service providing http recording. Dump your requests here to inspect them for testing. Completely local.","archived":false,"fork":false,"pushed_at":"2024-07-19T04:57:16.000Z","size":13,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-20T21:17:10.747Z","etag":null,"topics":["cli","endpoints","httpbin","mock-server","mockbin","postbin","python","qa","request-catcher","request-logging","requestbin","requests","testing","tools","web","web-development","webhook-receiver","webhooks-catcher"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MartinThoma.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-18T18:11:12.000Z","updated_at":"2024-11-06T11:05:55.000Z","dependencies_parsed_at":"2024-10-22T12:07:54.672Z","dependency_job_id":null,"html_url":"https://github.com/MartinThoma/postbin","commit_stats":null,"previous_names":["martinthoma/postbin","martinthoma/request-bin"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MartinThoma%2Fpostbin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MartinThoma%2Fpostbin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MartinThoma%2Fpostbin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MartinThoma%2Fpostbin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MartinThoma","download_url":"https://codeload.github.com/MartinThoma/postbin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250545579,"owners_count":21448235,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","endpoints","httpbin","mock-server","mockbin","postbin","python","qa","request-catcher","request-logging","requestbin","requests","testing","tools","web","web-development","webhook-receiver","webhooks-catcher"],"created_at":"2024-10-18T02:48:12.171Z","updated_at":"2025-04-24T01:41:37.585Z","avatar_url":"https://github.com/MartinThoma.png","language":"Python","readme":"[![PyPI version](https://badge.fury.io/py/postbin.svg)](https://badge.fury.io/py/postbin)\n[![Python Support](https://img.shields.io/pypi/pyversions/postbin.svg)](https://pypi.org/project/postbin/)\n[![GitHub last commit](https://img.shields.io/github/last-commit/MartinThoma/postbin)](https://github.com/MartinThoma/postbin)\n\n# postbin\n\nA simple Flask webserver to log all incoming requests with their headers and payloads.\n\n## Installation\n\nInstall postbin using pip:\n\n```\npip install postbin\n```\n\n## Usage\n\nStart the server with\n\n```\n$ postbin\n```\n\nThen make requests, e.g. with curl:\n\n```\ncurl -X POST http://127.0.0.1:5000 \\\n     -H \"Content-Type: application/json\" \\\n     -H \"Custom-Header: CustomValue\" \\\n     -d '{\"key1\":\"value1\",\"key2\":\"value2\"}'\n```\n\nThe postbin prints:\n\n```\n           Request Headers\n┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓\n┃         Header ┃ Value            ┃\n┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩\n│           Host │ 127.0.0.1:5000   │\n│     User-Agent │ curl/7.68.0      │\n│         Accept │ */*              │\n│   Content-Type │ application/json │\n│  Custom-Header │ CustomValue      │\n│ Content-Length │ 33               │\n└────────────────┴──────────────────┘\n           JSON Payload: {'key1': 'value1', 'key2': 'value2'}\n```\n\n## Examples\n\n### A simple GET request\n\n```\ncurl -i -H \"some-header: some-value\" localhost:5000/foo/bar?somequery=somevalue\n```\n\nOutput:\n\n```\n[06:31:34] Received Request: GET /foo/bar\n        Request Headers\n┏━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓\n┃      Header ┃ Value          ┃\n┡━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩\n│        Host │ localhost:5000 │\n│  User-Agent │ curl/7.68.0    │\n│      Accept │ */*            │\n│ Some-Header │ some-value     │\n└─────────────┴────────────────┘\n           Data Payload: b''\n```\n\n### Multi-dict support of form data\n\nInput:\n\n```\ncurl -X PUT \"http://127.0.0.1:5000/\" \\\n        -H \"Content-Type: application/x-www-form-urlencoded; charset=utf-8\" \\\n        -H \"X-Test-Header: foo bar\" \\\n        -H \"Accept: application/json\" \\\n        --data-raw \"key1\"=\"value1\" \\\n        --data-raw \"array1[]\"=\"value1\" \\\n        --data-raw \"array1[]\"=\"value2\" \\\n        --data-raw \"key2\"=\"value1\"\n```\n\nOutput:\n\n```\n[06:48:08] Received Request: PUT /\n                           Request Headers\n┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n┃         Header ┃ Value                                            ┃\n┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩\n│           Host │ localhost:5000                                   │\n│     User-Agent │ curl/7.68.0                                      │\n│   Content-Type │ application/x-www-form-urlencoded; charset=utf-8 │\n│  X-Test-Header │ foo bar                                          │\n│         Accept │ application/json                                 │\n│ Content-Length │ 55                                               │\n└────────────────┴──────────────────────────────────────────────────┘\n           Form Data:\n             key1: value1\n             array1[]: value1\n             array1[]: value2\n             key2: value1\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmartinthoma%2Fpostbin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmartinthoma%2Fpostbin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmartinthoma%2Fpostbin/lists"}