{"id":19686350,"url":"https://github.com/closeio/blackholebandicoot","last_synced_at":"2025-06-19T20:38:49.745Z","repository":{"id":53527247,"uuid":"153136454","full_name":"closeio/blackholebandicoot","owner":"closeio","description":null,"archived":false,"fork":false,"pushed_at":"2023-02-02T05:20:36.000Z","size":23,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":20,"default_branch":"master","last_synced_at":"2025-02-27T08:59:31.776Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/closeio.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}},"created_at":"2018-10-15T15:21:47.000Z","updated_at":"2018-12-21T12:32:25.000Z","dependencies_parsed_at":"2023-02-17T14:45:15.153Z","dependency_job_id":null,"html_url":"https://github.com/closeio/blackholebandicoot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/closeio/blackholebandicoot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/closeio%2Fblackholebandicoot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/closeio%2Fblackholebandicoot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/closeio%2Fblackholebandicoot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/closeio%2Fblackholebandicoot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/closeio","download_url":"https://codeload.github.com/closeio/blackholebandicoot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/closeio%2Fblackholebandicoot/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260826853,"owners_count":23068860,"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":[],"created_at":"2024-11-11T18:27:40.236Z","updated_at":"2025-06-19T20:38:44.733Z","avatar_url":"https://github.com/closeio.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BlackholeBandicoot\n\nTesting web server that accepts any request and at a minimum logs the request\nto stdout. To be used by developers or testers, not a production web/app server.\n\nTo get started run the following command and then make\nrequests to http://127.0.0.1:4000/.\n```\n# Plain app server that will return 200 and {\"ok\": 1}\ndocker run -p 4000:4000 closeio/blackholebandicoot\n\n# Return 400 error for every request\ndocker run -p 4000:4000 -e ERROR_RATE=100 closeio/blackholebandicoot\n\n# Pause 2 seconds for 50% of the requests\ndocker run -p 4000:4000 -e PAUSE_TIME=2 -e PAUSE_RATE=50 closeio/blackholebandicoot\n\n# Save every request to sqlite3 database\ndocker run -p 4000:4000 -e SAMPLE_RATE=100 --name blackhole closeio/blackholebandicoot\n# Run a test request and output data in requests table\ncurl -v http://127.0.0.1:4000/testit\ndocker exec blackhole find db -name '*.db' -exec sqlite3 {} 'select * from requests;' \\;\n/testit?|127.0.0.1:4000||[[\"Host\", \"127.0.0.1:4000\"], [\"User-Agent\", \"curl/7.54.0\"], [\"Accept\", \"*/*\"]]\n```\n\n\n## Configuration options\nThe following settings can be adjusted via environment variables or a\n`config.yml` file (see `config.sample.yml`). The settings in the `config.yml`\nfile will be checked every 5 seconds so that you can modify the behavior of\nrunning processes without restarting them.\n\n\n* PAUSE_RATE: Percentage of requests that should pause `PAUSE_TIME` seconds\n* PAUSE_TIME: Decimal seconds that will be slept\n* SAMPLE_RATE: Percentage of requests that should be written to sqlite3 database\n* ERROR_RATE: Percentage of requests that should return 400 reponses instead of 200\n* max_old (config file only): Number of rotated sqlite3 database files that should be kept\n\n\n## Sqlite3 db\nLook in the `db` directory for the database files. Run `select * from requests;` to see request data.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloseio%2Fblackholebandicoot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloseio%2Fblackholebandicoot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloseio%2Fblackholebandicoot/lists"}