{"id":30835556,"url":"https://github.com/stsysd/req-rs","last_synced_at":"2025-09-06T17:11:51.362Z","repository":{"id":43355163,"uuid":"328110402","full_name":"stsysd/req-rs","owner":"stsysd","description":null,"archived":false,"fork":false,"pushed_at":"2025-01-19T01:55:30.000Z","size":244,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-19T02:26:55.014Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","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/stsysd.png","metadata":{"files":{"readme":"README.md","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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-09T08:34:01.000Z","updated_at":"2025-01-19T01:55:33.000Z","dependencies_parsed_at":"2025-01-03T17:20:56.918Z","dependency_job_id":"69bc25af-90ce-4e13-9501-07c2f2ef4ef2","html_url":"https://github.com/stsysd/req-rs","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/stsysd/req-rs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stsysd%2Freq-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stsysd%2Freq-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stsysd%2Freq-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stsysd%2Freq-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stsysd","download_url":"https://codeload.github.com/stsysd/req-rs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stsysd%2Freq-rs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273933933,"owners_count":25193602,"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-09-06T02:00:13.247Z","response_time":2576,"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":"2025-09-06T17:11:48.863Z","updated_at":"2025-09-06T17:11:51.350Z","avatar_url":"https://github.com/stsysd.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# req\n\n**req** is a command-line tool for sending http request.\n\n## Basic Usage\n\nRequest tasks are defined in a file usually named `req.toml`. For example:\n\n```toml\n[tasks.get]\nGET = 'https://httpbin.org/get'\ndescription = \"GET request\"\n\n[tasks.post]\nPOST = 'https://httpbin.org/post'\ndescription = \"POST request\"\n```\n\nTo send request, run `req` command with task name:\n\n```shell\n$ req get\n# =\u003e GET https://httpbin.org/get\n\n$ req post\n# =\u003e POST https://httpbin.org/post\n```\n\nWithout task name, `req` prints list of tasks:\n\n```shell\n$ req\nget     GET request\npost    POST request\n```\n\n## CLI Options\n\n### -h, --help\n\nPrint help information.\n\n### -V, --version\n\nPrint version information.\n\n### -f, --file `\u003cDEF\u003e`\n\nRead task definitions from `\u003cDEF\u003e`. (default: `req.toml`)\n\n### -i, --include-header\n\nInclude response headers in the output\n\n### -v, --var\n\nPass variable in the form `KEY=VALUE`.\nThis option can be specified multple times.\n\n### --dryrun\n\nDump internal structure of specified task without sending request.\n\n```shell\n$ req get --dryrun\nReqTask {\n    method: Get(\n        \"https://httpbin.org/get\",\n    ),\n    headers: {},\n    queries: {},\n    body: Plain(\n        \"\",\n    ),\n    description: \"GET request\",\n    config: None,\n}\n```\n\n### [experimental] --curl\n\nPrint compatible curl command. _This feature may not perform stably._\n\n```\n$ req get --curl\ncurl -X GET 'https://httpbin.org/get'\n```\n\n## Configuration\n\n### tasks.{NAME}\n\nDefine a task named `{NAME}`.\n\n### tasks.{NAME}.description\n\nSpeify description for the task.\n\n### tasks.{NAME}.GET = {URL}\n\n### tasks.{NAME}.POST = {URL}\n\n### tasks.{NAME}.PUT = {URL}\n\n### tasks.{NAME}.DELETE = {URL}\n\n### tasks.{NAME}.HEAD = {URL}\n\n### tasks.{NAME}.OPTIONS = {URL}\n\n### tasks.{NAME}.CONNECT = {URL}\n\n### tasks.{NAME}.PATCH = {URL}\n\n### tasks.{NAME}.TRACE = {URL}\n\nSpecify HTTP method and URL to send request.\n\n### tasks.{NAME}.headers = {TABLE}\n\n### tasks.{NAME}.queries = {TABLE}\n\nSpecify headers and queries as table to be given to request.\nValues of these table should be string or array of string.\n\n### tasks.{NAME}.body.plain = {TEXT}\n\nSpecify request plain text body with `Content-Type: text/plain`.\n\n```toml\n[tasks.with-plain-text.body]\nplain = \"seinding body\"\n```\n\n### tasks.{NAME}.body.json = {OBJECT}\n\nSpecify request json body with `Content-Type: application/json`.\n\n```toml\n[tasks.with-json.body.json]\nnumber = 42\nstring = \"foo\"\nnested.value = \"bar\"\n```\n\n### tasks.{NAME}.body.form = {TABLE}\n\nSpecify request form body with `Content-Type: application/x-www-form-urlencoded`.\n\n```toml\n[tasks.with-form.body.form]\nkey = \"value\"\n```\n\n### tasks.{NAME}.body.multipart = {TABLE}\n\nSpecify request multipart body with `Content-Type: multipart/form-data`.\nTo upload files, file path tagged with `file`.\n\n```toml\n[tasks.post.body.multipart]\nfile-to-upload.file = \"/path/to/upload/file\"\ntext = \"plain text\"\n```\n\n### tasks.{NAME}.config\n\nSpecify configure for each task.\nThis setting overwrites top-level configure.\nSee [config](#config) for details.\n\n### variables = {TABLE}\n\nDefine variables for string interpolation. For example:\n\n```toml\n[variables]\nDOMAIN = \"example.com\"\nTOKEN = \"XXXX-XXXX\"\nKEY = \"interpolated-key\"\n\n[tasks.interp]\nGET = \"https://${DOMAIN}\"\n# =\u003e resolved by `GET = \"https://example.com\"`\n\n[tasks.interp.headers]\nAuthorization = \"Bearer ${TOKEN}\"\n# =\u003e resolved by `AUthorization = \"Bearer XXXX-XXXX\"`\n\n[tasks.interp.queries]\n\"${KEY}\" = \"value\"\n# =\u003e resolved by `\"interpolated-key\" = \"value\"`\n```\n\n### config\n\n### config.insecure = {BOOLEAN}\n\nIf `true`, ignore verifying the SSL certificate. (default: `false`)\n\n### config.redirect = {INTEGER \u003e= 0}\n\nSpecify a maximum number of redirects. (default: `0`)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstsysd%2Freq-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstsysd%2Freq-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstsysd%2Freq-rs/lists"}