{"id":20543986,"url":"https://github.com/drewmoore/eight-track","last_synced_at":"2026-04-19T17:33:05.377Z","repository":{"id":78372098,"uuid":"71027503","full_name":"drewmoore/eight-track","owner":"drewmoore","description":"HTTP caching for the Meteor framework.","archived":false,"fork":false,"pushed_at":"2016-11-21T02:52:20.000Z","size":16,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-16T15:37:40.234Z","etag":null,"topics":["javascript","meteor","meteor-framework","meteorjs","vcr"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/drewmoore.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}},"created_at":"2016-10-16T03:16:23.000Z","updated_at":"2016-10-16T03:19:12.000Z","dependencies_parsed_at":"2023-04-24T23:17:03.093Z","dependency_job_id":null,"html_url":"https://github.com/drewmoore/eight-track","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drewmoore%2Feight-track","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drewmoore%2Feight-track/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drewmoore%2Feight-track/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drewmoore%2Feight-track/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/drewmoore","download_url":"https://codeload.github.com/drewmoore/eight-track/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242150748,"owners_count":20080006,"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":["javascript","meteor","meteor-framework","meteorjs","vcr"],"created_at":"2024-11-16T01:41:51.615Z","updated_at":"2026-04-19T17:33:05.264Z","avatar_url":"https://github.com/drewmoore.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"EightTrack\n==========\nCache HTTP requests in the Meteor framework. Based on the popular [VCR](https://github.com/vcr/vcr) package\nfor other frameworks, such as Rails. This typically is used in testing code that involves outgoing http requests for APIs and such. By caching, the chance of maxing out requests is drastically reduced. Plus, it is more considerate to your API providers, as well :).\n\n## Installation\n`meteor add drewmoore:eight-track`\n- It is recommended that you add `eight-track-cassettes/` to your project's `.gitignore`.\n\n## Usage\nIn any server-only code (for the time being), wrap an http response in the following manner:\n```\nEightTrack.useCassette('myCachedResponse', function () {\n  result = HTTP.get('https://jsonplaceholder.typicode.com/posts/1');\n});\n```\n\n- This will first find or create a directory in the project root called `eight-track-cassettes/`.\n- This will then find or create a file named `myCachedResponse.json` in the directory.\n- If the file does not exist or it is determined to be expired (see below), `myCachedResponse.json` will store a replica of the http response.\n- If the file exists and is not expired, the json file will be parsed and the original http response simulated, complete with headers and all.\n\n## Cache Expiration\nCurrently, all cassettes are set to expire 24 hours after creation, according to EightTrack's `reRecordInterval`. In the near future, I plan on allowing this to be customized through a config file.\n\n## Client-Side Caching\nThis is currently a wish list feature.\n\n## Bug Reporting / Suggestions\nPlease feel free to create new issues on the repo. Pull requests always welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrewmoore%2Feight-track","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdrewmoore%2Feight-track","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrewmoore%2Feight-track/lists"}