{"id":16881607,"url":"https://github.com/benbjohnson/http-wiretap","last_synced_at":"2026-03-16T20:38:02.224Z","repository":{"id":56876900,"uuid":"1385152","full_name":"benbjohnson/http-wiretap","owner":"benbjohnson","description":"It's like Charles Proxy for your Rubies!","archived":false,"fork":false,"pushed_at":"2018-07-09T15:01:39.000Z","size":108,"stargazers_count":5,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-26T13:53:42.165Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/benbjohnson.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-02-19T03:28:35.000Z","updated_at":"2020-03-23T07:41:43.000Z","dependencies_parsed_at":"2022-08-20T23:10:30.176Z","dependency_job_id":null,"html_url":"https://github.com/benbjohnson/http-wiretap","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/benbjohnson/http-wiretap","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benbjohnson%2Fhttp-wiretap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benbjohnson%2Fhttp-wiretap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benbjohnson%2Fhttp-wiretap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benbjohnson%2Fhttp-wiretap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/benbjohnson","download_url":"https://codeload.github.com/benbjohnson/http-wiretap/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benbjohnson%2Fhttp-wiretap/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278547818,"owners_count":26004774,"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","status":"online","status_checked_at":"2025-10-05T02:00:06.059Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-10-13T16:04:17.304Z","updated_at":"2025-10-06T01:58:04.511Z","avatar_url":"https://github.com/benbjohnson.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"HTTP Wiretap - An HTTP Recorder\n===============================\n\n## DESCRIPTION\n\nHTTP Wiretap is a library used to log HTTP requests and responses within your\napplication. This can be useful when trying to determine what is occurring in\nyour application or when trying to debug someone else's application.\n\nThis library follows the rules of [Semantic Versioning](http://semver.org/).\n\n\n## RUNNING\n\nTo install HTTP Wiretap, simply install the gem:\n\n\t$ [sudo] gem install http-wiretap\n\nAnd enable it within your application:\n\n\trequire 'http/wiretap'\n\tHTTP::Wiretap.start()\n\nAnd disable it when you're done:\n\n\tHTTP::Wiretap.stop()\n\nOr clear out your log directory while running:\n\n\tHTTP::Wiretap.clear()\n\nBy default, all requests will be logged to `http-log` of your present working\ndirectory. Also, your `http-log` directory will be cleared out each time you\nrun `start()`.\n\n\n## MODES\n\nHTTP Wiretap will log HTTP traffic in two modes:\n\n1. Raw - Logs traffic in the order that it occurred.\n2. Host - Groups traffic by host and path\n\nWhen logging, data written will be linked with a symbolic link to save space and\nreduce I/O.\n\nThe `http-log` directory is separated by mode and then each request is written\ninto a directory that contains a `request` file and a `response` file. Each of\nthese files contain the headers and body.\n\n\n## EXAMPLE\n\nIf your application were to make the following requests:\n\n\thttp://abc.com/login\n\thttp://xyz.com/users\n\thttp://xyz.com/users/1/favorites\n\thttp://abc.com/fetch_info.pl?foo=bar\n\thttp://abc.com/fetch_info.pl?foo=baz\n\nThen your `http-log` directory will show the following:\n\n\t+ http-log/\n\t  + raw/\n\t    + 0/\n\t      + request\n\t      + response\n\t    + 1/\n\t      + request\n\t      + response\n\t    + 2/\n\t      + request\n\t      + response\n\t    + 3/\n\t      + request\n\t      + response\n\t  + host/\n\t    + abc.com/\n\t      + login/\n\t        + 0/\n\t          + request\n\t          + response\n\t      + fetch_info.pl/\n\t        + 0/\n\t          + request\n\t          + response\n\t        + 1/\n\t          + request\n\t          + response\n\t    + xyz.com/\n\t      + users/\n\t        + 0/\n\t          + request\n\t          + response\n\t        + 1/\n\t          + favorites/\n\t            + 0/\n\t              + request\n\t              + response\n\nThere can be overlap when making calls to a `/users` path and then a `/users/0`\npath since requests are numbered. If anyone has a better idea of how to\nstructure this while keeping it simple, please let me know.\n\n\n## CONTRIBUTE\n\nIf you'd like to contribute to HTTP Wiretap, start by forking the repository\non GitHub:\n\nhttp://github.com/benbjohnson/http-wiretap\n\nPlease add test coverage to your code when submitting pull requests.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenbjohnson%2Fhttp-wiretap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbenbjohnson%2Fhttp-wiretap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenbjohnson%2Fhttp-wiretap/lists"}