{"id":18752575,"url":"https://github.com/broothie/smock","last_synced_at":"2025-11-27T23:30:17.405Z","repository":{"id":64306574,"uuid":"160881408","full_name":"broothie/smock","owner":"broothie","description":"a mock server","archived":false,"fork":false,"pushed_at":"2020-06-29T17:29:33.000Z","size":7958,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-12-29T00:10:58.213Z","etag":null,"topics":["http","mock-server","testing-tools"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/broothie.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-12-07T22:22:27.000Z","updated_at":"2020-06-29T17:29:32.000Z","dependencies_parsed_at":"2023-01-15T10:45:33.439Z","dependency_job_id":null,"html_url":"https://github.com/broothie/smock","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/broothie%2Fsmock","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/broothie%2Fsmock/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/broothie%2Fsmock/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/broothie%2Fsmock/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/broothie","download_url":"https://codeload.github.com/broothie/smock/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239643865,"owners_count":19673575,"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":["http","mock-server","testing-tools"],"created_at":"2024-11-07T17:21:04.606Z","updated_at":"2025-11-27T23:30:17.319Z","avatar_url":"https://github.com/broothie.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# `smock`\n\nA server mock.\n\n## Installation\n\n### Mac\n\n```bash\n$ brew tap broothie/smock\n$ brew install smock\n```\n\n### Releases\n\nReleases are available on the [releases page](https://github.com/broothie/smock/releases).\n\n### Source\n\nYou can also build from source of course if you have the Go toolchain installed and feel like doing that.\n\n## Usage\n\nStart a mock server:\n```bash\n$ smock -c 201 -h Content-Type=application/json -b '{\"key\": \"value\"}'\n[smock] mock server @ http://localhost:9090\n[smock] serving ui @ http://localhost:9091\n```\n\nthen, in another terminal, hit the server:\n```bash\n$ curl -i localhost:9090\nHTTP/1.1 201 Created\nContent-Type: application/json\nDate: Sat, 27 Jun 2020 23:39:43 GMT\nContent-Length: 16\n\n{\"key\": \"value\"}\n```\n\n### Proxying\n\nStart smock proxied toward a uri:\n\n```bash\n$ smock proxy https://run.mocky.io\n```\n\nthen:\n\n```bash\n$ curl -i localhost:9090/v3/06c38c1c-c6fa-4276-adaa-f3b3a878f64e\nHTTP/1.1 418 I'm a teapot\nContent-Length: 16\nContent-Type: application/json; charset=UTF-8\nDate: Sat, 27 Jun 2020 23:42:45 GMT\nSozu-Id: 3f328940-74ca-4255-aa80-429418cd6f98\nX-Foo: bar\n\n{\"key\": \"value\"}\n```\n\n### UI\n\nAnd check it out - there's even a UI where you can see your requests coming through in real time!\n\n![ui](documents/ui.png)\n\n## All Options\n```bash\n$ smock --help-long\nusage: smock [\u003cflags\u003e] \u003ccommand\u003e [\u003cargs\u003e ...]\n\nFlags:\n      --help               Show context-sensitive help (also try --help-long and\n                           --help-man).\n  -p, --port=9090          port to run server mock on\n  -u, --uiport=9091        port to run ui on\n      --no-ui              disable ui\n  -c, --code=200           response status code\n  -h, --header=HEADER ...  response headers\n  -b, --body=\"\"            response body\n\nCommands:\n  help [\u003ccommand\u003e...]\n    Show help.\n\n\n  version\n    print smock version\n\n\n  mock [\u003cflags\u003e]\n    mock response\n\n    -c, --code=200           response status code\n    -h, --header=HEADER ...  response headers\n    -b, --body=\"\"            response body\n\n  proxy \u003curl\u003e\n    reverse proxy to target url\n```\n\n### TODO\n\n- [ ] Stubs\n- [ ] Clean up errors\n- [ ] Retrofit JS\n- [ ] Show proxied request info in UI\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbroothie%2Fsmock","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbroothie%2Fsmock","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbroothie%2Fsmock/lists"}