{"id":21659657,"url":"https://github.com/launchdarkly/rust-eventsource-client","last_synced_at":"2026-02-11T20:15:37.618Z","repository":{"id":35032574,"uuid":"197468239","full_name":"launchdarkly/rust-eventsource-client","owner":"launchdarkly","description":"Server-sent events (SSE) client implementation for Rust","archived":false,"fork":false,"pushed_at":"2026-01-21T21:45:51.000Z","size":341,"stargazers_count":105,"open_issues_count":4,"forks_count":30,"subscribers_count":38,"default_branch":"main","last_synced_at":"2026-01-22T10:22:40.136Z","etag":null,"topics":["eventsource","feature-flags","feature-toggles","launchdarkly","launchdarkly-sdk","launchdarkly-sdk-component","managed-by-terraform","rust","server-sent-events"],"latest_commit_sha":null,"homepage":"https://docs.rs/eventsource-client/latest/eventsource_client/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/launchdarkly.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-07-17T21:54:56.000Z","updated_at":"2026-01-15T21:15:13.000Z","dependencies_parsed_at":"2026-02-11T20:07:50.405Z","dependency_job_id":null,"html_url":"https://github.com/launchdarkly/rust-eventsource-client","commit_stats":{"total_commits":118,"total_committers":10,"mean_commits":11.8,"dds":"0.43220338983050843","last_synced_commit":"0eaab6eefb8d69aac01ded4ab53c527c84084ba6"},"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/launchdarkly/rust-eventsource-client","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/launchdarkly%2Frust-eventsource-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/launchdarkly%2Frust-eventsource-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/launchdarkly%2Frust-eventsource-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/launchdarkly%2Frust-eventsource-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/launchdarkly","download_url":"https://codeload.github.com/launchdarkly/rust-eventsource-client/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/launchdarkly%2Frust-eventsource-client/sbom","scorecard":{"id":579950,"data":{"date":"2025-08-11","repo":{"name":"github.com/launchdarkly/rust-eventsource-client","commit":"c7433f85a1ff7b9c932706a4b75bec17b7d39a91"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.6,"checks":[{"name":"Code-Review","score":10,"reason":"all changesets reviewed","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":"Maintained","score":2,"reason":"2 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Security-Policy","score":9,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Warn: One or no descriptive hints of disclosure, vulnerability, and/or timelines in security policy","Info: Found text in security policy: SECURITY.md:1"],"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":"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":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/manual-publish.yml:16","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/release-please.yml:13","Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Warn: no topLevel permission defined: .github/workflows/lint-pr-title.yml:1","Warn: no topLevel permission defined: .github/workflows/manual-publish.yml:1","Warn: no topLevel permission defined: .github/workflows/release-please.yml:1","Warn: no topLevel permission defined: .github/workflows/stale.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":"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:17: update your workflow using https://app.stepsecurity.io/secureworkflow/launchdarkly/rust-eventsource-client/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/lint-pr-title.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/launchdarkly/rust-eventsource-client/lint-pr-title.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/manual-publish.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/launchdarkly/rust-eventsource-client/manual-publish.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/manual-publish.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/launchdarkly/rust-eventsource-client/manual-publish.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-please.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/launchdarkly/rust-eventsource-client/release-please.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-please.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/launchdarkly/rust-eventsource-client/release-please.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-please.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/launchdarkly/rust-eventsource-client/release-please.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/stale.yml:10: update your workflow using https://app.stepsecurity.io/secureworkflow/launchdarkly/rust-eventsource-client/stale.yml/main?enable=pin","Info:   0 out of   3 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   5 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":"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":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Warn: project license file does not contain an FSF or OSI license."],"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 30 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"}}]},"last_synced_at":"2025-08-20T18:56:13.195Z","repository_id":35032574,"created_at":"2025-08-20T18:56:13.195Z","updated_at":"2025-08-20T18:56:13.195Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29343687,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-11T20:11:40.865Z","status":"ssl_error","status_checked_at":"2026-02-11T20:10:41.637Z","response_time":97,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["eventsource","feature-flags","feature-toggles","launchdarkly","launchdarkly-sdk","launchdarkly-sdk-component","managed-by-terraform","rust","server-sent-events"],"created_at":"2024-11-25T09:31:21.114Z","updated_at":"2026-02-11T20:15:37.607Z","avatar_url":"https://github.com/launchdarkly.png","language":"Rust","readme":"# eventsource-client\n\n[![Run CI](https://github.com/launchdarkly/rust-eventsource-client/actions/workflows/ci.yml/badge.svg)](https://github.com/launchdarkly/rust-eventsource-client/actions/workflows/ci.yml)\n\nClient for the [Server-Sent Events] protocol (aka [EventSource]).\n\n[Server-Sent Events]: https://html.spec.whatwg.org/multipage/server-sent-events.html\n[EventSource]: https://developer.mozilla.org/en-US/docs/Web/API/EventSource\n\n## Requirements\n\nRequires tokio.\n\n## Usage\n\nExample that just prints the type of each event received:\n\n```rust\nuse eventsource_client as es;\n\nlet mut client = es::ClientBuilder::for_url(\"https://example.com/stream\")?\n    .header(\"Authorization\", \"Basic username:password\")?\n    .build();\n\nclient\n    .stream()\n    .map_ok(|event| println!(\"got event: {:?}\", event))\n    .map_err(|err| eprintln!(\"error streaming events: {:?}\", err));\n```\n\n(Some boilerplate omitted for clarity; see [examples directory] for complete,\nworking code.)\n\n[examples directory]: https://github.com/launchdarkly/rust-eventsource-client/tree/main/eventsource-client/examples\n## Features\n\n* tokio-based streaming client.\n* Supports setting custom headers on the HTTP request (e.g. for endpoints\n  requiring authorization).\n* Retry for failed connections.\n* Reconnection if connection is interrupted, with exponential backoff.\n\n## Stability\n\nEarly stage release for feedback purposes. May contain bugs or performance\nissues. API subject to change.\n\n## Minimum Supported Rust Version\n\nThis project aims to maintain compatibility with the latest stable release of Rust in addition to the two prior minor releases.\n\nVersion updates may occur more frequently than the policy guideline states if external forces require it. For example, a CVE in a downstream dependency requiring an MSRV bump would be considered an acceptable reason to violate the six month guideline.\n","funding_links":[],"categories":["Rust","\u003ca name=\"Rust\"\u003e\u003c/a\u003eRust"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaunchdarkly%2Frust-eventsource-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flaunchdarkly%2Frust-eventsource-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaunchdarkly%2Frust-eventsource-client/lists"}