{"id":28214356,"url":"https://github.com/sla-ppy/gocusign","last_synced_at":"2026-05-14T12:34:33.913Z","repository":{"id":279131037,"uuid":"936764346","full_name":"sla-ppy/gocusign","owner":"sla-ppy","description":"[F] Backend integration for (docu)ment (sign)ing made with (Go)","archived":false,"fork":false,"pushed_at":"2025-02-26T21:22:00.000Z","size":2722,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-04T23:25:48.200Z","etag":null,"topics":["backend","curl","get","golang","http","openapi","post"],"latest_commit_sha":null,"homepage":"","language":"Go","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/sla-ppy.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,"zenodo":null}},"created_at":"2025-02-21T16:40:25.000Z","updated_at":"2025-04-28T14:23:31.000Z","dependencies_parsed_at":"2025-06-11T23:33:14.469Z","dependency_job_id":"b685f3c7-0757-4bb7-bd21-ac9b9f38f57b","html_url":"https://github.com/sla-ppy/gocusign","commit_stats":null,"previous_names":["sla-ppy/gocusign"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sla-ppy/gocusign","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sla-ppy%2Fgocusign","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sla-ppy%2Fgocusign/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sla-ppy%2Fgocusign/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sla-ppy%2Fgocusign/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sla-ppy","download_url":"https://codeload.github.com/sla-ppy/gocusign/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sla-ppy%2Fgocusign/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33025148,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-14T02:00:06.663Z","response_time":57,"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":["backend","curl","get","golang","http","openapi","post"],"created_at":"2025-05-17T21:07:25.613Z","updated_at":"2026-05-14T12:34:33.892Z","avatar_url":"https://github.com/sla-ppy.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gocusign\nHTTP Client which uses OpenAPI calls to communicate with an HTTP server, written in Go\n\nThings I've learned from the project:\n- HTTP network protocol, GET, POST\n- JWAuth Bearer Token auth with HTTP POST is possible by addig a header to do that, aka. we send the token with each POST request\n- HTTP Headers specify what information we are sending or expect to receive from server, we call them [media types](https://www.iana.org/assignments/media-types/media-types.xhtml#application) such as: application/json, application/pdf\n- Marshal from Go data to multipart/form-data\n- Marshal from Go data to JSON, unmarshaling JSON to Go\n\n## Testing HTTP requests locally using netcat and curl\n- Set baseUrl to localhost addr\n- Even when the program crashes the requests till that point can be examined\n- Important: Only HTTP works! HTTPS doesn't work\n\nTerminal #0\n```\nnc -l -p 1234 -v | less     -\u003e nc/netcat [TCP/IP server testing tool], -l [listens on the port], -p [sets port], -v [return more info]\n```\nTerminal #1\n```\ncurl http://127.0.0.1:1234/     -\u003e make HTTP GET request to test\n```\n\n## Using the API's curl commands and comparing it locally\n- If the API documentation includes example on the Curl on succesful api call in the correct format\n- We can check against the curl ran locally as the example shows:\n- This way essentially we are comparing the packet sent and the packet succesfully received by the server\n\n![image](demo/curl_comparision.png)\n\n\n- [Tutorials by Digitial Ocean on Golang](https://www.digitalocean.com/community/tutorials/how-to-use-json-in-go)\n- [Reqbin for HTTP theory and more](https://reqbin.com/)\n- [Swagger for viewing API docs such as .yaml (F1 in VScode)](https://swagger.io/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsla-ppy%2Fgocusign","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsla-ppy%2Fgocusign","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsla-ppy%2Fgocusign/lists"}