{"id":17170315,"url":"https://github.com/nahid/gohttp","last_synced_at":"2025-04-13T16:07:39.326Z","repository":{"id":56280118,"uuid":"109993693","full_name":"nahid/gohttp","owner":"nahid","description":"HTTP client for Go","archived":false,"fork":false,"pushed_at":"2023-05-31T07:41:05.000Z","size":40,"stargazers_count":64,"open_issues_count":2,"forks_count":18,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-13T16:07:32.952Z","etag":null,"topics":["go","golang","http","http-client","request"],"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/nahid.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":"2017-11-08T15:28:32.000Z","updated_at":"2025-03-02T12:16:38.000Z","dependencies_parsed_at":"2024-06-18T15:36:31.354Z","dependency_job_id":"f6f737cf-16df-4fb2-a9f0-884eca8cd063","html_url":"https://github.com/nahid/gohttp","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nahid%2Fgohttp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nahid%2Fgohttp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nahid%2Fgohttp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nahid%2Fgohttp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nahid","download_url":"https://codeload.github.com/nahid/gohttp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248741206,"owners_count":21154255,"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":["go","golang","http","http-client","request"],"created_at":"2024-10-14T23:29:31.805Z","updated_at":"2025-04-13T16:07:39.295Z","avatar_url":"https://github.com/nahid.png","language":"Go","readme":"# gohttp\n\n[![Build Status](https://travis-ci.org/nahid/gohttp.svg?branch=master)](https://travis-ci.org/nahid/gohttp)\n[![Go Report Card](https://goreportcard.com/badge/github.com/nahid/gohttp)](https://goreportcard.com/report/github.com/nahid/gohttp)\n[![Coverage Status](https://coveralls.io/repos/github/nahid/gohttp/badge.svg?branch=master)](https://coveralls.io/github/nahid/gohttp?branch=master)\n\nHTTP client for Go, its also support asynchronous request\n\n## Installation\n\n```\ngo get github.com/nahid/gohttp\n```\n\n### Example\n\n#### `POST https://httpbin.org/post`\n\n```go\npackage main\n\nimport (\n\t\"github.com/nahid/gohttp\"\n\t\"fmt\"\n)\n\nfunc main() {\n\treq := gohttp.NewRequest()\n\n\tresp, err := req.\n\t\tFormData(map[string]string{\"name\": \"Nahid\"}).\n\t\tPost(\"https://httpbin.org/post\")\n\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\n\tif resp.GetStatusCode() == 200 {\n\t\tvar resps map[string]interface{}\n\n\t\t_ = resp.GetBodyWithUnmarshal(\u0026resps)\n\t\tfmt.Println(resps[\"form\"])\n\t}\n}\n```\n\n#### Async Example\n\n```go\npackage main\n\nimport (\n\t\"github.com/nahid/gohttp\"\n\t\"fmt\"\n)\n\nfunc main() {\n\treq := gohttp.NewRequest()\n\tch := make(chan *gohttp.AsyncResponse)\n\n\tvar users [3]string\n\n\tusers[0] = \"nahid\"\n\tusers[1] = \"shipu\"\n\tusers[2] = \"sujan\"\n\n\tfor i:=0; i\u003clen(users); i++ {\n\t\treq.\n\t\tFormData(map[string]string{\"user\": users[i]}).\n\t\tAsyncPost(\"http://domain.app/send\", ch)\n\t}\n\n\n\tfor i:=0; i\u003clen(users); i++ {\n\t\top := \u003c-ch\n\n\t\tfmt.Println(op.GetBodyAsString())\n\t}\n}\n```\n\n### Available Method\n\n- `NewRequest(options ...Option)`\n\n#### Request\n\n- `Get(url string)`\n- `Post(url string)`\n- `Put(url string)`\n- `Patch(url string)`\n- `Delete(url string)`\n\n#### Async Request\n\n- `AsyncGet(url string, ch chan)`\n- `AsyncPost(url string, ch chan)`\n- `AsyncPut(url string, ch chan)`\n- `AsyncPatch(url string, ch chan)`\n- `AsyncDelete(url string, ch chan)`\n\n#### Data Bindings\n\n- `Headers(data map[string]string)`\n- `FormData(data map[string]string)`\n- `Json(data map[string]interface{})`\n- `Query(data map[string]string{})`\n- `Body(body []byte)`\n- `Text(text string)`\n- `BasicAuth(username, password string)`\n- `MultipartFormData(data map[string]string{})`\n- `Upload(name, file string)`\n- `Uploads(files map[string]string{})`\n- `UploadFromReader(param MultipartParam)`\n- `UploadsFromReader(params []MultipartParam)`\n\n\n#### Response\n\n- `GetResp()`\n- `GetStatusCode()`\n- `GetBody()`\n- `GetBodyAsByte()`\n- `GetBodyAsString()`\n- `GetBodyWithUnmarshal(v interface{})`\n\nSee API doc https://godoc.org/github.com/nahid/gohttp","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnahid%2Fgohttp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnahid%2Fgohttp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnahid%2Fgohttp/lists"}