{"id":13857837,"url":"https://github.com/nealrichardson/httpcache","last_synced_at":"2025-05-07T02:28:58.912Z","repository":{"id":78666208,"uuid":"52186669","full_name":"nealrichardson/httpcache","owner":"nealrichardson","description":"HTTP query cache for R","archived":false,"fork":false,"pushed_at":"2023-04-12T09:38:32.000Z","size":129,"stargazers_count":12,"open_issues_count":5,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-31T05:26:58.673Z","etag":null,"topics":["caching","http-client","logging","rstats"],"latest_commit_sha":null,"homepage":"https://enpiar.com/r/httpcache/","language":"R","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/nealrichardson.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS.md","contributing":null,"funding":null,"license":"LICENSE","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-02-21T02:17:09.000Z","updated_at":"2025-03-22T11:22:17.000Z","dependencies_parsed_at":"2023-04-30T12:01:24.871Z","dependency_job_id":null,"html_url":"https://github.com/nealrichardson/httpcache","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nealrichardson%2Fhttpcache","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nealrichardson%2Fhttpcache/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nealrichardson%2Fhttpcache/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nealrichardson%2Fhttpcache/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nealrichardson","download_url":"https://codeload.github.com/nealrichardson/httpcache/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246557479,"owners_count":20796689,"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":["caching","http-client","logging","rstats"],"created_at":"2024-08-05T03:01:48.397Z","updated_at":"2025-03-31T23:30:31.788Z","avatar_url":"https://github.com/nealrichardson.png","language":"R","readme":"# httpcache: Query Cache for HTTP Clients\n\n[![codecov.io](https://codecov.io/github/nealrichardson/httpcache/coverage.svg?branch=master)](https://codecov.io/github/nealrichardson/httpcache?branch=master) [![Build status](https://ci.appveyor.com/api/projects/status/twvekbpe3x2tk2g5?svg=true)](https://ci.appveyor.com/project/nealrichardson/httpcache) [![cran](https://www.r-pkg.org/badges/version-last-release/httpcache)](https://cran.r-project.org/package=httpcache)\n\nIn order to improve performance for HTTP API clients, `httpcache`\nprovides simple tools for caching and invalidating cache. It includes the\nHTTP verb functions `GET`, `PUT`, `PATCH`, `POST`, and `DELETE`, which are drop-in\nreplacements for those in the [httr](https://httr.r-lib.org) package.\nThese functions are cache-aware and provide default settings\nfor cache invalidation suitable for RESTful APIs; the package also\nenables custom cache-management strategies. Finally, `httpcache` includes\na basic logging framework to facilitate the measurement of HTTP request\ntime and cache performance.\n\n## Installing\n\n`httpcache` can be installed from CRAN with\n\n    install.packages(\"httpcache\")\n\nThe pre-release version of the package can be pulled from GitHub using the [remotes](https://github.com/r-lib/remotes) package:\n\n    # install.packages(\"remotes\")\n    remotes::install_github(\"nealrichardson/httpcache\")\n\n## Getting started\n\nWorking with `httpcache` is as simple as loading the package in your interactive session or script instead of `httr`, or, in package development, importing the HTTP verb functions from `httpcache`. `GET()` responses are added to the local query cache; `PUT()`, `PATCH()`, `POST()`, and `DELETE()` requests trigger cache invalidation on the associated resources. You can override that default cache invalidation, and you can command the invalidation explicitly, with the invalidation functions `dropCache()`, `dropPattern()`, and `dropOnly()`. `clearCache()` wipes the cache completely.\n\nSee `vignette(\"httpcache\")` for examples of the HTTP cache in practice.\n\n## For developers\n\nThe repository includes a Makefile to facilitate some common tasks.\n\n### Running tests\n\n`$ make test`. Requires the [httptest](https://enpiar.com/r/httptest/) package. You can also specify a specific test file or files to run by adding a \"file=\" argument, like `$ make test file=logging`. `test_package` will do a regular-expression pattern match within the file names. See its documentation in the [testthat](https://testthat.r-lib.org) package.\n\n### Updating documentation\n\n`$ make doc`. Requires the [roxygen2](https://github.com/klutometis/roxygen) package.\n","funding_links":[],"categories":["R"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnealrichardson%2Fhttpcache","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnealrichardson%2Fhttpcache","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnealrichardson%2Fhttpcache/lists"}