{"id":19894688,"url":"https://github.com/matteobaccan/echoserver","last_synced_at":"2026-02-01T22:08:14.363Z","repository":{"id":63543344,"uuid":"557901869","full_name":"matteobaccan/EchoServer","owner":"matteobaccan","description":"Simply echo server for stress test","archived":false,"fork":false,"pushed_at":"2026-01-20T22:30:32.000Z","size":111,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-21T05:35:14.248Z","etag":null,"topics":["echo-server","hacktoberfest","java"],"latest_commit_sha":null,"homepage":"","language":"Java","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/matteobaccan.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-10-26T14:15:53.000Z","updated_at":"2026-01-20T22:28:16.000Z","dependencies_parsed_at":"2024-01-17T13:45:09.649Z","dependency_job_id":"8b793a77-7456-46aa-b028-5a8e9076c151","html_url":"https://github.com/matteobaccan/EchoServer","commit_stats":null,"previous_names":[],"tags_count":147,"template":false,"template_full_name":null,"purl":"pkg:github/matteobaccan/EchoServer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matteobaccan%2FEchoServer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matteobaccan%2FEchoServer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matteobaccan%2FEchoServer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matteobaccan%2FEchoServer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matteobaccan","download_url":"https://codeload.github.com/matteobaccan/EchoServer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matteobaccan%2FEchoServer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28992723,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T22:01:47.507Z","status":"ssl_error","status_checked_at":"2026-02-01T21:58:37.335Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["echo-server","hacktoberfest","java"],"created_at":"2024-11-12T18:34:19.644Z","updated_at":"2026-02-01T22:08:14.349Z","avatar_url":"https://github.com/matteobaccan.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EchoServer\n\nEchoServer is a simple yet powerful tool for stress-testing HTTP requests. It allows you to launch a server that responds to every HTTP request by simply \"echoing\" (returning) what it receives from the client. This is ideal for debugging, load testing, and analyzing how clients and intermediaries handle HTTP transactions.\n\n## Main Features\n\n- Returns body, headers, and parameters of every HTTP request received\n- Configurable for any IP and port\n- Supports specifying the body and content-type of the response\n- Suitable for load testing and HTTP application debugging\n\n## Requirements\n\n- Java 17 or higher\n- Maven (optional, for building from source)\n\n## Installation\n\nClone the repository:\n```bash\ngit clone https://github.com/matteobaccan/EchoServer.git\ncd EchoServer\n```\n\nBuild the project with Maven:\n```bash\nmvn clean package\n```\n\n## Usage\n\nStart the server with:\n```bash\njava -jar target/EchoServer.jar --ip=127.0.0.1 --port=8080\n```\n\nOr use the available parameters:\n```\nUsage: EchoServer [-hV] [-b=\u003cbody\u003e] [-c=\u003ccontentType\u003e] [-i=\u003cip\u003e] [-p=\u003cport\u003e]\n  -b, --body=\u003cbody\u003e         Response body\n  -c, --content-type=\u003ccontentType\u003e Response Content-Type\n  -h, --help                Show help and exit\n  -i, --ip=\u003cip\u003e             IP address for the server to listen on\n  -p, --port=\u003cport\u003e         Port for the server to listen on\n  -V, --version             Show version information and exit\n```\n\nExample:\n```bash\nEchoServer --ip=127.0.0.1 --port=8080\n```\nThis will start the server on IP 127.0.0.1 and port 8080.\n\n## Testing All HTTP Methods\n\nYou can test the EchoServer with all standard HTTP methods using curl. Replace http://127.0.0.1:8080 with your server address if different.\n\n### GET\n```sh\ncurl -X GET http://127.0.0.1:8080/test\n```\n\n### POST\n```sh\ncurl -X POST http://127.0.0.1:8080/test -d '{\"message\":\"Hello\"}' -H \"Content-Type: application/json\"\n```\n\n### PUT\n```sh\ncurl -X PUT http://127.0.0.1:8080/test -d '{\"message\":\"Update\"}' -H \"Content-Type: application/json\"\n```\n\n### DELETE\n```sh\ncurl -X DELETE http://127.0.0.1:8080/test\n```\n\n### PATCH\n```sh\ncurl -X PATCH http://127.0.0.1:8080/test -d '{\"message\":\"Partial update\"}' -H \"Content-Type: application/json\"\n```\n\n### OPTIONS\n```sh\ncurl -X OPTIONS -i http://127.0.0.1:8080/test\n```\n\n### HEAD\n```sh\ncurl -I http://127.0.0.1:8080/test\n```\n\nThe server should echo back the request details or respond appropriately for each HTTP method.\n\n## Example Request and Response\n\n**Request:**\n```bash\ncurl -X POST http://127.0.0.1:8080/hello -d \"test=123\" -H \"Custom-Header: foo\"\n```\n\n**Response:**\n```json\n{\n  \"method\": \"POST\",\n  \"uri\": \"/hello\",\n  \"headers\": {\n    \"Custom-Header\": \"foo\",\n    ...\n  },\n  \"body\": \"test=123\",\n  ...\n}\n```\n\n## Contributing\n\nContributions, bug reports, and pull requests are welcome! Feel free to open issues or propose improvements.\n\n## License\n\nThis project is licensed under the MIT License.\n\n---\n\nYou can replace your current README.md with this version for improved clarity and HTTP method test instructions. Let me know if you want any further customization!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatteobaccan%2Fechoserver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatteobaccan%2Fechoserver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatteobaccan%2Fechoserver/lists"}