CoderFunda
  • Home
  • About us
    • Contact Us
    • Disclaimer
    • Privacy Policy
    • About us
  • Home
  • Php
  • HTML
  • CSS
  • JavaScript
    • JavaScript
    • Jquery
    • JqueryUI
    • Stock
  • SQL
  • Vue.Js
  • Python
  • Wordpress
  • C++
    • C++
    • C
  • Laravel
    • Laravel
      • Overview
      • Namespaces
      • Middleware
      • Routing
      • Configuration
      • Application Structure
      • Installation
    • Overview
  • DBMS
    • DBMS
      • PL/SQL
      • SQLite
      • MongoDB
      • Cassandra
      • MySQL
      • Oracle
      • CouchDB
      • Neo4j
      • DB2
      • Quiz
    • Overview
  • Entertainment
    • TV Series Update
    • Movie Review
    • Movie Review
  • More
    • Vue. Js
    • Php Question
    • Php Interview Question
    • Laravel Interview Question
    • SQL Interview Question
    • IAS Interview Question
    • PCS Interview Question
    • Technology
    • Other

26 August, 2023

Fallback route vs Exception handler for handling otherwise undefined routes/pages

 Programing Coderfunda     August 26, 2023     No comments   

I have an existing application that I'm looking to incorporate Laravel Folio into. I've come across something of a conflict between Folio and the existing routes in my application that has led me to consider what is the "best" way to handle requests for pages without a specific route definition. My application already has a fallback route defined. In my application I use the fallback route to allow for links to promo/discount codes that are applied to purchases a user makes so that requests like
https://mysite.com/MySuperGreatDiscountCode will automatically apply the code to the user's cart. It is also used to allow admin users of the application to be able to create random pages in our headless CMS without having to specifically define routes to those pages. The way Folio seems to work is that it also defines a fallback route that kicks off its route resolution process. What I'm currently experiencing is that Folio's fallback route is never called, and my already existing one handles the requests. When I remove my existing fallback route, Folio starts working as expected, but, as you've guessed, I lose the ability to have requests that point to a code or a CMS page. In trying to get Folio to play nice with my application I've been looking at different ways for handling requests for discount codes or pages that only exist in the CMS. My first thought was to use a middleware that would look for a 404 status code on the response, and if one is found, it would execute the logic to see if the request was for a discount code or a CMS page and return the appropriate response. However I couldn't get this to work because it seems the Laravel Exception handler "short circuits" the middleware stack when an exception is thrown/rendered. My IsItA404Response middleware was never being called when a NotFoundHttpException was being thrown. This lead me to move the discount code/cms page resolution logic to the Exception Handler's render method. This is working, but it seems a bit "hacky" to me. I'm curious to know what everyone thinks of using the Exception Handler in this way or if you have a better idea of how to handle this. submitted by /u/adear11 [link] [comments]
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg
Email ThisBlogThis!Share to XShare to Facebook

Related Posts:

  • JetBrains announced a bundle for Laravel developers: PhpStorm + Laravel Idea pluginJetBrains, the company behind PhpStorm, has exciting news for Laravel developers. They have introduced a special bundle offer that includes PhpStorm a… Read More
  • Laravel Tailwind MergeLaravel Tailwind Merge is a package that automatically resolves Tailwind CSS class conflicts in Laravel Blade files. The post Laravel Tailwind Merg… Read More
  • Lemon Squeezy for Laravel 1.0 is HereThe Lemon Squeezy for Laravel package released v1.0. Learn about this exciting package to make subscription billing, payments, and license keys a bree… Read More
  • 🔥 Download the Response of an HTTP Request in LaravelMarcel Pociot shared a tip on using the Laravel HTTP client method sink() to write a response to a file The post 🔥 Download the Response of an HTT… Read More
  • Mock your API responses with ChatGPTHi guys, We just recently launched a small package that allows you to dynamically mock API responses with ChatGPT to quickly jumpstart your project … Read More
Newer Post Older Post Home

0 comments:

Post a Comment

Thanks

Meta

Popular Posts

  • Spring boot app (error: method getFirst()) failed to run at local machine, but can run on server
    The Spring boot app can run on the online server. Now, we want to replicate the same app at the local machine but the Spring boot jar file f...
  • Log activity in a Laravel app with Spatie/Laravel-Activitylog
      Requirements This package needs PHP 8.1+ and Laravel 9.0 or higher. The latest version of this package needs PHP 8.2+ and Laravel 8 or hig...
  • Vue3 :style backgroundImage not working with require
    I'm trying to migrate a Vue 2 project to Vue 3. In Vue 2 I used v-bind style as follow: In Vue 3 this doesn't work... I tried a...
  • Laravel auth login with phone or email
          <?php     Laravel auth login with phone or email     <? php     namespace App \ Http \ Controllers \ Auth ;         use ...
  • Enabling authentication in swagger
    I created a asp.net core empty project running on .net6. I am coming across an issue when I am trying to enable authentication in swagger. S...

Categories

  • Ajax (26)
  • Bootstrap (30)
  • DBMS (42)
  • HTML (12)
  • HTML5 (45)
  • JavaScript (10)
  • Jquery (34)
  • Jquery UI (2)
  • JqueryUI (32)
  • Laravel (1017)
  • Laravel Tutorials (23)
  • Laravel-Question (6)
  • Magento (9)
  • Magento 2 (95)
  • MariaDB (1)
  • MySql Tutorial (2)
  • PHP-Interview-Questions (3)
  • Php Question (13)
  • Python (36)
  • RDBMS (13)
  • SQL Tutorial (79)
  • Vue.js Tutorial (68)
  • Wordpress (150)
  • Wordpress Theme (3)
  • codeigniter (108)
  • oops (4)
  • php (853)

Social Media Links

  • Follow on Twitter
  • Like on Facebook
  • Subscribe on Youtube
  • Follow on Instagram

Pages

  • Home
  • Contact Us
  • Privacy Policy
  • About us

Blog Archive

  • September (100)
  • August (50)
  • July (56)
  • June (46)
  • May (59)
  • April (50)
  • March (60)
  • February (42)
  • January (53)
  • December (58)
  • November (61)
  • October (39)
  • September (36)
  • August (36)
  • July (34)
  • June (34)
  • May (36)
  • April (29)
  • March (82)
  • February (1)
  • January (8)
  • December (14)
  • November (41)
  • October (13)
  • September (5)
  • August (48)
  • July (9)
  • June (6)
  • May (119)
  • April (259)
  • March (122)
  • February (368)
  • January (33)
  • October (2)
  • July (11)
  • June (29)
  • May (25)
  • April (168)
  • March (93)
  • February (60)
  • January (28)
  • December (195)
  • November (24)
  • October (40)
  • September (55)
  • August (6)
  • July (48)
  • May (2)
  • January (2)
  • July (6)
  • June (6)
  • February (17)
  • January (69)
  • December (122)
  • November (56)
  • October (92)
  • September (76)
  • August (6)

  • Failed to install 'cordova-plugin-firebase': CordovaError: Uh oh - 9/21/2024
  • pyspark XPath Query Returns Lists Omitting Missing Values Instead of Including None - 9/20/2024
  • SQL REPL from within Python/Sqlalchemy/Psychopg2 - 9/20/2024
  • MySql Explain with Tobias Petry - 9/20/2024
  • How to combine information from different devices into one common abstract virtual disk? [closed] - 9/20/2024

Laravel News

  • Chargebee Starter Kit for Billing in Laravel - 5/20/2025
  • Streamline Pipeline Cleanup with Laravel's finally Method - 5/18/2025
  • Validate Controller Requests with the Laravel Data Package - 5/19/2025
  • Deployer - 5/18/2025
  • Transform JSON into Typed Collections with Laravel's AsCollection::of() - 5/18/2025

Copyright © 2025 CoderFunda | Powered by Blogger
Design by Coderfunda | Blogger Theme by Coderfunda | Distributed By Coderfunda