{"id":21385157,"url":"https://github.com/spoqa/adventure","last_synced_at":"2025-07-13T14:31:54.329Z","repository":{"id":57480115,"uuid":"176944458","full_name":"spoqa/adventure","owner":"spoqa","description":"Helps your great adventure for the various type of requests.","archived":false,"fork":false,"pushed_at":"2020-01-15T03:34:13.000Z","size":120,"stargazers_count":11,"open_issues_count":1,"forks_count":2,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-06-24T02:41:35.564Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/spoqa.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE_APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-03-21T12:55:21.000Z","updated_at":"2020-08-14T10:01:05.000Z","dependencies_parsed_at":"2022-09-18T05:47:48.724Z","dependency_job_id":null,"html_url":"https://github.com/spoqa/adventure","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/spoqa/adventure","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spoqa%2Fadventure","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spoqa%2Fadventure/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spoqa%2Fadventure/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spoqa%2Fadventure/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spoqa","download_url":"https://codeload.github.com/spoqa/adventure/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spoqa%2Fadventure/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265155775,"owners_count":23719584,"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":[],"created_at":"2024-11-22T11:45:20.887Z","updated_at":"2025-07-13T14:31:53.952Z","avatar_url":"https://github.com/spoqa.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"Adventure\n=========\n\n[![crates.io][b/crates/i]][b/crates] [![docs.rs][b/docs/i]][b/docs]\n\n[b/crates]: https://crates.io/crates/adventure\n[b/crates/i]: https://meritbadge.herokuapp.com/adventure\n[b/docs]: https://docs.rs/adventure/\n[b/docs/i]: https://docs.rs/adventure/badge.svg\n\nProvides general utilities for the web requests, like [exponential backoff][] and pagination.\n\n[exponential backoff]: https://en.wikipedia.org/wiki/Exponential_backoff\n\n\nExamples\n--------\n\n```rust\nuse std::sync::Arc;\n\nuse adventure::prelude::*;\nuse futures::prelude::*;\n\nuse adventure_rusoto_ecs::AwsEcs;\nuse rusoto_core::Region;\nuse rusoto_ecs::{EcsClient, ListServicesRequest};\n\nfn main() {\n    let client = EcsClient::new(Region::default());\n    let req = ListServicesRequest {\n        cluster: Some(\"MyEcsCluster\".to_owned()),\n        ..Default::default()\n    };\n\n    tokio::run(\n\n        // prepare a request\n        AwsEcs::from(req)\n            // backoff if server error is occured\n            .retry()\n            // repeat to retrieve all results\n            .paginate(Arc::new(client))\n\n            // compatible with futures\n            .for_each(|page| {\n                for service in page.service_arns.unwrap_or_else(Vec::new) {\n                    println!(\"{}\", service);\n                }\n                Ok(())\n            })\n            .or_else(|err| {\n                eprintln!(\"Error occured: {}\", err);\n                Ok(())\n            }),\n    );\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspoqa%2Fadventure","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspoqa%2Fadventure","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspoqa%2Fadventure/lists"}