jgoulah / catalyst-plugin-debugcookie Goto Github PK
View Code? Open in Web Editor NEWCatalyst plugin to turn on debug when a secure cookie and a query param are set
Catalyst plugin to turn on debug when a secure cookie and a query param are set
NAME Catalyst::Plugin::DebugCookie - Catalyst plugin to turn on debug when a secure cookie and a query param are set SYNOPSIS # In your application class define the plugin use Catalyst qw/DebugCookie/; # In your controller, you must define an action method to set the cookie. # This should be secured by htpasswd or similar methods use Catalyst::Plugin::DebugCookie::Util qw/make_debug_cookie/; sub secure_debug_cookie :Path(/this/is/not/public) { my ($self, $c, $username) = @_; # this method is defined for you in the provided util class make_debug_cookie($c, $username); $c->res->body("Cookie set"); } # Your configuration in perl __PACKAGE__->config->{Plugin::DebugCookie} = { secret_key => '001A4B28EE3936', cookie_name => 'mycookie', } # Or your configuration in L<Config::General> format <Plugin::DebugCookie> secret_key 001A4B28EE3936 cookie_name my_secure_debug_cookie </Plugin::DebugCookie> # In your browser first set the cookie with your username http:///this/is/not/public/<username> # Finally, in your browser view a page with the parameter 'is_debug' # set with the same username used when generating the cookie. # The plugin will turn on debug mode for this request http://yourserver?is_debug=<username> DESCRIPTION Catalyst plugin to turn debug on a per request basis, typically used in a production environment where debug is off by default. Two things must happen to enable debug. First, you have to go to a secure (ideally password protected) URL to set the cookie, which is a hash of your secret key and username. Secondly, you have to hit the page with the ?is_debug=<username> query parameter. Note that this plugin will only work when catalyst debug is off since CATALYST_DEBUG=1 injects a 'sub debug { 1 }' into MyApp::, therefore the overloaded debug in this plugin would not be executed. CONFIGURATION secret_key This is a key hashed with a username to provide cookie security cookie_name Sets the name of the cookie (optional). Defaults to 'debug_cookie' EXTENDED METHODS The following methods are extended from the main Catalyst application class. prepare Sets 'X-Catalyst-Debug' header and enables stats when debug is on debug Determines whether debug should be set based on cookie and query param use_stats Determines whether use_stats should be set based on cookie and query param METHODS valid_debug_mode Checks for is_debug query param and checks for a valid cookie and returns true if both are validated AUTHOR John Goulah <[email protected]> COPYRIGHT This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.