{"id":16824984,"url":"https://github.com/tomnomnom/george","last_synced_at":"2025-03-18T00:47:41.656Z","repository":{"id":3046204,"uuid":"4067392","full_name":"tomnomnom/george","owner":"tomnomnom","description":"HTTP Debugging Proxy","archived":false,"fork":false,"pushed_at":"2012-04-18T22:42:04.000Z","size":104,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-24T09:08:31.811Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/tomnomnom.png","metadata":{"files":{"readme":"README.mkd","changelog":null,"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":"2012-04-18T19:29:18.000Z","updated_at":"2014-03-13T00:56:43.000Z","dependencies_parsed_at":"2022-09-12T14:22:38.443Z","dependency_job_id":null,"html_url":"https://github.com/tomnomnom/george","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomnomnom%2Fgeorge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomnomnom%2Fgeorge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomnomnom%2Fgeorge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomnomnom%2Fgeorge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tomnomnom","download_url":"https://codeload.github.com/tomnomnom/george/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244135897,"owners_count":20403797,"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-10-13T11:12:35.970Z","updated_at":"2025-03-18T00:47:41.639Z","avatar_url":"https://github.com/tomnomnom.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# george - HTTP debugging proxy\n\nA really basic HTTP proxy written in node.js with hooks to let you re-write headers on request and response.\n\n## A word of warning\nIf there were a greek letter before alpha then it would describe the state of george. If george was a real\nperson he would randomly refuse to do perfectly reasonable tasks that you ask of him.\n\n## Methods\n* `george.listen(port)` - start the proxy server listening on a port (default: 7070)\n* `george.rewriteUrl(search, replace)` - rewrite requests from `search` to `replace`\n* `george.on(event, callback)` - bind a callback to an event\n\n### Events\n* `request` - emitted before a request is made. A request object is the only argument.\n* `response` - emitted after a response is received, but before it is sent to the client. A response object is the only argument.\n\n## Examples\n\nThe most basic usage:\n\n    var george = require('george');\n    george.listen(7070);\n\nA more complex example:\n\n    var george = require('george');\n\n    // Log the URL being requested\n    george.on('request', function(request){\n      console.log(request.url);\n    });\n\n    george.on('response', function(response){\n      // Globally replace \"monospace\" with \"sans-serif\" in the response body\n      response.body = response.body.replace(/monospace/g, 'sans-serif');\n\n      // Change the content-type to be text/plain\n      response.headers['content-type'] = 'text/plain';\n    });\n\n    // Start George listening on port 7070\n    george.listen(7070);\n\n## Known issues\n* There is currently no guarantee that callbacks run in time if they're async\n* Gzip et al is not supported\n* SSL isn't supported either\n* Non-text data is not support in general\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomnomnom%2Fgeorge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftomnomnom%2Fgeorge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomnomnom%2Fgeorge/lists"}