{"id":26327614,"url":"https://github.com/followtheprocess/req","last_synced_at":"2025-03-15T20:20:07.705Z","repository":{"id":281327345,"uuid":"944902411","full_name":"FollowTheProcess/req","owner":"FollowTheProcess","description":"Work with .http files on the command line","archived":false,"fork":false,"pushed_at":"2025-03-15T17:22:22.000Z","size":191,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-15T18:25:40.033Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","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/FollowTheProcess.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}},"created_at":"2025-03-08T07:38:33.000Z","updated_at":"2025-03-15T17:22:25.000Z","dependencies_parsed_at":"2025-03-15T18:22:44.813Z","dependency_job_id":null,"html_url":"https://github.com/FollowTheProcess/req","commit_stats":null,"previous_names":["followtheprocess/req"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FollowTheProcess%2Freq","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FollowTheProcess%2Freq/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FollowTheProcess%2Freq/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FollowTheProcess%2Freq/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FollowTheProcess","download_url":"https://codeload.github.com/FollowTheProcess/req/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243785916,"owners_count":20347548,"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":"2025-03-15T20:20:07.151Z","updated_at":"2025-03-15T20:20:07.696Z","avatar_url":"https://github.com/FollowTheProcess.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# req\n\n[![License](https://img.shields.io/github/license/FollowTheProcess/req)](https://github.com/FollowTheProcess/req)\n[![Go Report Card](https://goreportcard.com/badge/github.com/FollowTheProcess/req)](https://goreportcard.com/report/github.com/FollowTheProcess/req)\n[![GitHub](https://img.shields.io/github/v/release/FollowTheProcess/req?logo=github\u0026sort=semver)](https://github.com/FollowTheProcess/req)\n[![CI](https://github.com/FollowTheProcess/req/workflows/CI/badge.svg)](https://github.com/FollowTheProcess/req/actions?query=workflow%3ACI)\n[![codecov](https://codecov.io/gh/FollowTheProcess/req/branch/main/graph/badge.svg)](https://codecov.io/gh/FollowTheProcess/req)\n\nExecute `.http` files from the command line\n\n\u003e [!WARNING]\n\u003e **req is in early development and is not yet ready for use**\n\n![caution](./img/caution.png)\n\n## Project Description\n\n`req` is a command line toolkit to execute `.http` files\n\n```plaintext\n// Comments can begin with slashes '/' or hashes '#' and last until the next newline character '\\n'\n# This is also a comment (I'll use '/' from now on but you are free to use both)\n\n// Global variables (e.g. base url) can be defined with '@ident = \u003cvalue\u003e'\n@base = https://api.company.com\n\n// 3 '#' in a row mark a new HTTP request, with an optional name e.g. 'Delete employee 1'\n### [name]\nHTTP_METHOD \u003curl\u003e\nHeader-Name: \u003cheader value\u003e\n\n// You can also give them names like this, although names like this\n// do not allow spaces e.g. 'Delete employee 1' must be 'DeleteEmployee1'\n###\n# @name \u003cname\u003e\n# @name=\u003cname\u003e\n# @name = \u003cname\u003e\nHTTP_METHOD \u003curl\u003e\n...\n\n// Global variables are interpolated like this\n### Get employee 1\nGET {{base}}/employees/1\n\n// Pass the body of requests like this\n### Update employee 1 name\nPATCH {{base}}/employees/1\nContent-Type: application/json\n\n{\n  \"name\": \"Namey McNamerson\"\n}\n```\n\nSee the [Spec] and [Syntax Guide] for more info.\n\n\u003e [!NOTE]\n\u003e The custom javascript portions (e.g. the `{% ... %}` blocks) of the spec are **not** implemented as these are editor specific and require a javascript runtime.\n\n## Installation\n\nCompiled binaries for all supported platforms can be found in the [GitHub release]. There is also a [homebrew] tap:\n\n```shell\nbrew install FollowTheProcess/tap/req\n```\n\n## Quickstart\n\nGiven a `.http` file containing http requests like this:\n\n```plaintext\n// demo.http\n\n@base = https://localhost:5167\n \n### Create a new item\nPOST {{base}}/todoitems\nContent-Type: application/json\n \n{\n  \"id\": \"{{ $guid }}\",\n  \"name\":\"walk dog\",\n  \"isComplete\":false\n}\n \n### Get All items\nGET {{base}}/todoitems\n \n### Update item\nPUT {{base}}/todoitems/1\nContent-Type: application/json\n \n{\n  \"id\": 1,\n  \"name\":\"walk dog\",\n  \"isComplete\": true\n}\n \n### Delete item\nDELETE {{base}}/todoitems/1\n```\n\nYou can invoke any one of them, like this...\n\n```shell\nreq do ./demo.http --request \"Get All items\"\n```\n\n### Credits\n\nThis package was created with [copier] and the [FollowTheProcess/go_copier] project template.\n\n[copier]: https://copier.readthedocs.io/en/stable/\n[FollowTheProcess/go_copier]: https://github.com/FollowTheProcess/go_copier\n[GitHub release]: https://github.com/FollowTheProcess/req/releases\n[homebrew]: https://brew.sh\n[Spec]: https://github.com/JetBrains/http-request-in-editor-spec\n[Syntax Guide]: https://www.jetbrains.com/help/idea/exploring-http-syntax.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffollowtheprocess%2Freq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffollowtheprocess%2Freq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffollowtheprocess%2Freq/lists"}