{"id":21277972,"url":"https://github.com/b13/justincase","last_synced_at":"2025-04-07T19:14:36.503Z","repository":{"id":54559890,"uuid":"198652751","full_name":"b13/justincase","owner":"b13","description":"TYPO3 Extension - No matter what case your URL is, we'll hit it.","archived":false,"fork":false,"pushed_at":"2025-01-10T11:59:01.000Z","size":58,"stargazers_count":16,"open_issues_count":1,"forks_count":7,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-31T16:17:40.364Z","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":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/b13.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-24T14:33:14.000Z","updated_at":"2025-01-10T11:58:49.000Z","dependencies_parsed_at":"2025-01-10T12:41:57.160Z","dependency_job_id":null,"html_url":"https://github.com/b13/justincase","commit_stats":{"total_commits":26,"total_committers":6,"mean_commits":4.333333333333333,"dds":0.5,"last_synced_commit":"581ca1adcfa3d94c516270b163f34b682eb20b6f"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b13%2Fjustincase","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b13%2Fjustincase/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b13%2Fjustincase/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b13%2Fjustincase/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/b13","download_url":"https://codeload.github.com/b13/justincase/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247713258,"owners_count":20983683,"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-21T10:08:30.822Z","updated_at":"2025-04-07T19:14:36.473Z","avatar_url":"https://github.com/b13.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TYPO3 Extension \"just in case\" - No matter what case your URL is, we'll hit it.\n\nWhen your marketing team has accidentally pushed a campaign with mixed case URLs, they should not run into 404s.\n\nThis TYPO3 extension solves your pain - just in case.\n\n## What does it do?\n\nBy default, TYPO3 v9 is strict when you're actual page is called `https://b13.com/lets-connect/` but your marketing\ndudes name it `https://b13.com/Lets-Connect/`. TYPO3 v9 saves URLs as lower-case by default.\n\nA simple PSR-15 based middleware transforms your incoming URL into lower-case and you should be fine, as\nboth URLs would work for the users.\n\n## Installation\n\nUse it via `composer req b13/justincase` or install the Extension `justincase` from the TYPO3 Extension Repository.\n\n_justincase_ requires TYPO3 v9.5.0 or later.\n\n## Configuration\n\nAs a web developer, sometimes the team wants a 307 redirect, and sometimes to just work as everything would be lower-case.\n\n_justincase_ does the latter (\"just pretend it works\") and receives the URL, processes the URL further by default, however\nyou can configure the extension on a per-site basis to do redirects instead, by modifying the Languages array of the\nsite configuration yaml:\n\n    languages:\n        -\n        title: English\n        ...\n        redirectOnUpperCase: true\n        # in case you want to use a status code, other than 307\n        redirectStatusCode: 303\n\nIf you wish to enable redirect for all languages, add these lines at the bottom of the site configuration yaml instead:\n\n    settings:\n        redirectOnUpperCase: true\n        # in case you want to use a status code, other than 307\n        redirectStatusCode: 303\n\nPlease note that this option only works for GET or HEAD requests.\n\n## Events\n\na ```BeforeMiddlewareIsAppliedEvent``` is fired before LowerCaseUri Middleware is applied.\nyou can prevent applying Middleware by calling `event-\u003edoNotApply`\n\n## Caveats\n\nIf specific route enhancers check on camel-case (e.g. `{order}/paymentForm/`) this might lead to unexpected behaviours\nand 404 pages.\n\n## License\n\nAs TYPO3 Core, _justincase_ is licensed under GPL2 or later. See the LICENSE file for more details.\n\n## Background, Credits \u0026 Further Maintenance\n\nThis extension was created as a show-case on what you can do with middlewares for TYPO3 v9 and customize\nso many things. See https://forge.typo3.org/issues/87544 for the initial request.\n\nTYPO3 community often requests functionality, which can be put in small and efficient extensions, and _justincase_ does\nexactly that, without having to burden everything into TYPO3 Core.\n\n_justincase_ was initially created by Daniel Goerz and Benni Mack for [b13, Stuttgart](https://b13.com), with the nice\nsupport from Matthias Stegmann for providing the extension name.\n\n[Find more TYPO3 extensions we have developed](https://b13.com/useful-typo3-extensions-from-b13-to-you) that help us deliver value in client projects. As part of the way we work, we focus on testing and best practices to ensure long-term performance, reliability, and results in all our code.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fb13%2Fjustincase","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fb13%2Fjustincase","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fb13%2Fjustincase/lists"}