{"id":13463434,"url":"https://github.com/lostisland/faraday","last_synced_at":"2025-09-09T21:11:43.568Z","repository":{"id":39885782,"uuid":"417389","full_name":"lostisland/faraday","owner":"lostisland","description":"Simple, but flexible HTTP client library, with support for multiple backends.","archived":false,"fork":false,"pushed_at":"2025-08-12T07:42:25.000Z","size":3444,"stargazers_count":5857,"open_issues_count":51,"forks_count":997,"subscribers_count":93,"default_branch":"main","last_synced_at":"2025-09-06T00:58:43.030Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://lostisland.github.io/faraday","language":"Ruby","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/lostisland.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":".github/CODE_OF_CONDUCT.md","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":"2009-12-10T17:14:55.000Z","updated_at":"2025-09-05T07:08:16.000Z","dependencies_parsed_at":"2024-04-02T11:57:00.840Z","dependency_job_id":"22062915-4a38-4a16-830b-508454091cb9","html_url":"https://github.com/lostisland/faraday","commit_stats":{"total_commits":1736,"total_committers":284,"mean_commits":6.112676056338028,"dds":0.75,"last_synced_commit":"a9cf00425e3abc99b78952af44deb2912a65a882"},"previous_names":[],"tags_count":140,"template":false,"template_full_name":null,"purl":"pkg:github/lostisland/faraday","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lostisland%2Ffaraday","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lostisland%2Ffaraday/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lostisland%2Ffaraday/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lostisland%2Ffaraday/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lostisland","download_url":"https://codeload.github.com/lostisland/faraday/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lostisland%2Ffaraday/sbom","scorecard":{"id":599435,"data":{"date":"2025-08-11","repo":{"name":"github.com/lostisland/faraday","commit":"bc27144430eb1dd5a02233d3af0ac7f1c8257072"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.6,"checks":[{"name":"Code-Review","score":5,"reason":"Found 16/29 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":10,"reason":"11 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":9,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/publish.yml:13","Info: topLevel 'contents' permission set to 'read': .github/workflows/ci.yml:15","Warn: no topLevel permission defined: .github/workflows/publish.yml:1","Info: found token with 'none' permissions: .github/workflows/refresh_team_page.yml:1"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/lostisland/faraday/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/lostisland/faraday/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:55: update your workflow using https://app.stepsecurity.io/secureworkflow/lostisland/faraday/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/lostisland/faraday/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/lostisland/faraday/publish.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/lostisland/faraday/publish.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/lostisland/faraday/publish.yml/main?enable=pin","Info:   0 out of   3 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.md:0","Info: FSF or OSI recognized license: MIT License: LICENSE.md:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 20 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":3,"reason":"7 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-pfrx-2q88-qq97","Warn: Project is vulnerable to: GHSA-4r62-v4vq-hr96","Warn: Project is vulnerable to: GHSA-5v2h-r2cx-5xgj","Warn: Project is vulnerable to: GHSA-rrrm-qjm4-v8hf","Warn: Project is vulnerable to: GHSA-x7hr-w5r2-h6wg","Warn: Project is vulnerable to: GHSA-m6fv-jmcg-4jfg","Warn: Project is vulnerable to: GHSA-cm22-4g7w-348p"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-21T00:01:26.115Z","repository_id":39885782,"created_at":"2025-08-21T00:01:26.115Z","updated_at":"2025-08-21T00:01:26.115Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273874160,"owners_count":25183368,"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":"2024-07-31T13:00:53.468Z","updated_at":"2025-09-09T21:11:43.546Z","avatar_url":"https://github.com/lostisland.png","language":"Ruby","readme":"# [![Faraday](./docs/_media/home-logo.svg)][website]\n\n[![Gem Version](https://badge.fury.io/rb/faraday.svg)](https://rubygems.org/gems/faraday)\n[![GitHub Actions CI](https://github.com/lostisland/faraday/workflows/CI/badge.svg)](https://github.com/lostisland/faraday/actions?query=workflow%3ACI)\n[![GitHub Discussions](https://img.shields.io/github/discussions/lostisland/faraday?logo=github)](https://github.com/lostisland/faraday/discussions)\n\nFaraday is an HTTP client library abstraction layer that provides a common interface over many\nadapters (such as Net::HTTP) and embraces the concept of Rack middleware when processing the request/response cycle.\nTake a look at [Awesome Faraday][awesome] for a list of available adapters and middleware.\n\n## Why use Faraday?\n\nFaraday gives you the power of Rack middleware for manipulating HTTP requests and responses,\nmaking it easier to build sophisticated API clients or web service libraries that abstract away\nthe details of how HTTP requests are made.\n\nFaraday comes with a lot of features out of the box, such as:\n* Support for multiple adapters (Net::HTTP, Typhoeus, Patron, Excon, HTTPClient, and more)\n* Persistent connections (keep-alive)\n* Parallel requests\n* Automatic response parsing (JSON, XML, YAML)\n* Customization of the request/response cycle with middleware\n* Support for streaming responses\n* Support for uploading files\n* And much more!\n\n## Getting Started\n\nThe best starting point is the [Faraday Website][website], with its introduction and explanation.\n\nNeed more details? See the [Faraday API Documentation][apidoc] to see how it works internally, or take a look at [Advanced techniques for calling HTTP APIs in Ruby](https://mattbrictson.com/blog/advanced-http-techniques-in-ruby) blog post from [@mattbrictson](https://github.com/mattbrictson) 🚀\n\n## Supported Ruby versions\n\nThis library aims to support and is [tested against][actions] the currently officially supported Ruby\nimplementations. This means that, even without a major release, we could add or drop support for Ruby versions,\nfollowing their [EOL](https://endoflife.date/ruby).\nCurrently that means we support Ruby 3.0+\n\nIf something doesn't work on one of these Ruby versions, it's a bug.\n\nThis library may inadvertently work (or seem to work) on other Ruby\nimplementations and versions, however support will only be provided for the versions listed\nabove.\n\nIf you would like this library to support another Ruby version, you may\nvolunteer to be a maintainer. Being a maintainer entails making sure all tests\nrun and pass on that implementation. When something breaks on your\nimplementation, you will be responsible for providing patches in a timely\nfashion. If critical issues for a particular implementation exist at the time\nof a major release, support for that Ruby version may be dropped.\n\n## Contribute\n\nDo you want to contribute to Faraday?\nOpen the issues page and check for the `help wanted` label!\nBut before you start coding, please read our [Contributing Guide][contributing]\n\n## Copyright\n\n\u0026copy; 2009 - 2023, the Faraday Team. Website and branding design by [Elena Lo Piccolo](https://elelopic.design).\n\n[awesome]: https://github.com/lostisland/awesome-faraday/#adapters\n[website]: https://lostisland.github.io/faraday\n[contributing]: https://github.com/lostisland/faraday/blob/main/.github/CONTRIBUTING.md\n[apidoc]: https://www.rubydoc.info/github/lostisland/faraday\n[actions]: https://github.com/lostisland/faraday/actions\n","funding_links":[],"categories":["Web Apps, Services \u0026 Interaction","HTTP Clients and tools","Uncategorized","Ruby","Http","HTTP","API Client Development Tools","Miscellaneous","HTTP Clients","HTTP client"],"sub_categories":["HTTP clients","Uncategorized","Ruby"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flostisland%2Ffaraday","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flostisland%2Ffaraday","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flostisland%2Ffaraday/lists"}