{"id":19844678,"url":"https://github.com/azonmedia/component-request-caching","last_synced_at":"2025-02-28T20:14:58.865Z","repository":{"id":62513605,"uuid":"223966807","full_name":"AzonMedia/component-request-caching","owner":"AzonMedia","description":"Caching component for GuzabaPlatform","archived":false,"fork":false,"pushed_at":"2021-03-07T14:49:11.000Z","size":31,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-01-11T12:21:12.410Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","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/AzonMedia.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-11-25T14:22:59.000Z","updated_at":"2021-03-07T14:49:13.000Z","dependencies_parsed_at":"2022-11-02T13:02:46.165Z","dependency_job_id":null,"html_url":"https://github.com/AzonMedia/component-request-caching","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AzonMedia%2Fcomponent-request-caching","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AzonMedia%2Fcomponent-request-caching/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AzonMedia%2Fcomponent-request-caching/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AzonMedia%2Fcomponent-request-caching/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AzonMedia","download_url":"https://codeload.github.com/AzonMedia/component-request-caching/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241223734,"owners_count":19929759,"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-12T13:05:10.231Z","updated_at":"2025-02-28T20:14:58.820Z","avatar_url":"https://github.com/AzonMedia.png","language":"PHP","readme":"# GuzabaPlatform\\RequestCaching\n\nRequest Caching component for [GuzabaPlatform](https://github.com/AzonMedia/guzaba-platform).\n\nCaches the request responses if the used ActiveRecord objects in the request were not modified (or no new ones were created from the same classes).\n\n## Installation and configuration\n\n```\n$ composer require guzaba-platform/request-caching\n```\n\nNo configuration is required. After installation on application startup the following message should be displayed:\n```\n[2.022402 Startup] Installed components:\n    ...\n    - guzaba-platform/request-caching - GuzabaPlatform\\RequestCaching : /home/local/PROJECTS/guzaba-platform-marketplace/guzaba-platform-marketplace/vendor/guzaba-platform/request-caching/app/src\n    ...\n```\nAnd if initialized successfully:\n```\n[2.022484 Startup] Middlewares:\n    ...\n    - GuzabaPlatform\\RequestCaching\\CachingMiddleware - guzaba.source:///home/local/PROJECTS/guzaba-platform-marketplace/guzaba-platform-marketplace/vendor/guzaba-platform/request-caching/app/src/CachingMiddleware.php\n    ...\n```\n\n## Preventing requests from beign cached\n\nThere are two ways to prevent a request to be cached:\n- the $Request to contain an attributed \"no_cache\"\n- the $Response to contain a header \"pragma: no-cache\" or \"cache-control: no-cache\"\n\n## Additional details\n\nIt injects a new middleware - GuzabaPlatform\\RequestCaching\\CachingMiddleware and registeres a callback on ActiveRecord:_after_read event.\nIt also uses the OrmMetaStore service to obtain the last modification times of the objects (and creation of new ones using the class meta data).","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazonmedia%2Fcomponent-request-caching","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fazonmedia%2Fcomponent-request-caching","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazonmedia%2Fcomponent-request-caching/lists"}