{"id":31006662,"url":"https://github.com/aosasona/falcon","last_synced_at":"2026-02-14T11:34:20.013Z","repository":{"id":212822961,"uuid":"732360873","full_name":"aosasona/falcon","owner":"aosasona","description":"A smoother way to send HTTP requests in Gleam, an abstraction over Hackney","archived":false,"fork":false,"pushed_at":"2024-03-21T17:47:57.000Z","size":60,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-13T02:22:55.101Z","etag":null,"topics":["gleam-lang","hackney","http-client"],"latest_commit_sha":null,"homepage":"https://hexdocs.pm/falcon","language":"Gleam","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/aosasona.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}},"created_at":"2023-12-16T12:24:14.000Z","updated_at":"2024-01-01T22:48:32.000Z","dependencies_parsed_at":"2024-03-21T18:47:12.353Z","dependency_job_id":"258187b5-006d-4623-bcd1-1aef7f3d4f62","html_url":"https://github.com/aosasona/falcon","commit_stats":null,"previous_names":["aosasona/facquest"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/aosasona/falcon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aosasona%2Ffalcon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aosasona%2Ffalcon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aosasona%2Ffalcon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aosasona%2Ffalcon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aosasona","download_url":"https://codeload.github.com/aosasona/falcon/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aosasona%2Ffalcon/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29443452,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T10:51:12.367Z","status":"ssl_error","status_checked_at":"2026-02-14T10:50:52.088Z","response_time":53,"last_error":"SSL_read: 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":["gleam-lang","hackney","http-client"],"created_at":"2025-09-13T02:15:09.114Z","updated_at":"2026-02-14T11:34:19.998Z","avatar_url":"https://github.com/aosasona.png","language":"Gleam","readme":"# falcon\n\n[![Package Version](https://img.shields.io/hexpm/v/falcon)](https://hex.pm/packages/falcon)\n[![Hex Docs](https://img.shields.io/badge/hex-docs-ffaff3)](https://hexdocs.pm/falcon/)\n\n\u003e ⚠️ WARNING: This package has not been thoroughly tested yet, please report any bugs you run into. I will work on adding tests in the future but the version you are currently looking at with this warning was made in constrained time to use in a project\n\n## Installation\n\nThis package can be added to your Gleam project:\n\n```sh\ngleam add falcon\n```\n\nand its documentation can be found at \u003chttps://hexdocs.pm/falcon\u003e.\n\n## Usage\n\n\u003e This package has not been documented, have a look in the [test](./test/) folder for more examples.\n\n```gleam\nimport falcon.{type FalconResponse}\nimport falcon/core.{Json, Url}\nimport gleam/dynamic\nimport gleam/io\nimport gleeunit/should\n\npub type PartialProduct {\n  PartialProduct(id: Int, title: String)\n}\n\npub fn main() {\n  let decoder =\n    dynamic.decode2(\n      PartialProduct,\n      dynamic.field(\"id\", dynamic.int),\n      dynamic.field(\"title\", dynamic.string),\n    )\n\n  let client =\n    falcon.new(\n      base_url: Url(\"https://dummyjson.com/\"),\n      headers: [],\n      timeout: falcon.default_timeout,\n    )\n\n  client\n  |\u003e falcon.get(\"/products/1\", expecting: Json(decoder), options: [])\n  |\u003e should.be_ok\n  |\u003e fn(res: FalconResponse(PartialProduct)) { res.body }\n  |\u003e io.debug\n}\n\n\n// Output: PartialProduct(1, \"iPhone 9\")\n```\n\n## Why should I use this?\n\nYou don't need to, [Hackney](https://github.com/gleam-lang/hackney) is probably enough for whatever you are doing but if you need a bit more configuration options or an axios-like interface, this is for you.\n\n\u003e NOTE: part of the hackney bindings were taken from the official Gleam hackney bindings and modified\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faosasona%2Ffalcon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faosasona%2Ffalcon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faosasona%2Ffalcon/lists"}