bump version
[catagits/Web-Simple.git] / lib / Web / Simple.pm
index aba056f..29c9933 100644 (file)
@@ -6,7 +6,7 @@ use warnings::illegalproto ();
 use Moo ();
 use Web::Dispatch::Wrapper ();
 
-our $VERSION = '0.018';
+our $VERSION = '0.020';
 
 sub import {
   my ($class, $app_package) = @_;
@@ -461,8 +461,7 @@ Query and body parameters can be match via
 
 The body spec will match if the request content is either
 application/x-www-form-urlencoded or multipart/form-data - the latter
-of which is required for uploads, which are now handled experimentally
-- see below.
+of which is required for uploads - see below.
 
 The param spec is elements of one of the following forms -
 
@@ -607,6 +606,45 @@ from subroutine prototypes, so this is equivalent to
 
   sub (GET+/user/*) {
 
+=head3 Accessing parameters via C<%_>
+
+If your dispatch specification causes your dispatch subroutine to receive
+a hash reference as its first argument, the contained named parameters
+will be accessible via C<%_>.
+
+This can be used to access your path matches, if they're named:
+
+  sub (GET + /foo/:path_part) {
+    [ 200,
+      ['Content-type' => 'text/plain'],
+      ["We are in $_{path_part}"],
+    ];
+  }
+
+Or, if your first argument would be a hash reference containing named
+query parameters:
+
+  sub (GET + /foo + ?:some_param=) {
+    [ 200,
+      ['Content-type' => 'text/plain'],
+      ["We received $_{some_param} as parameter"],
+    ];
+  }
+
+Of course this also works when all you are doing is slurping the whole set
+of parameters by their name:
+
+  sub (GET + /foo + ?*) {
+    [ 200,
+      ['Content-type' => 'text/plain'],
+      [exists($_{foo}) ? "Received a foo: $_{foo}" : "No foo!"],
+    ],
+  }
+
+Note that only the first hash reference will be avaialble via C<%_>. If
+you receive additional hash references, you will need to access them as
+usual.
+
 =head3 Accessing the PSGI env hash
 
 In some cases you may wish to get the raw PSGI env hash - to do this,
@@ -796,6 +834,8 @@ Robin Edwards <robin.ge@gmail.com>
 
 Andrew Rodland (hobbs) <andrew@cleverdomain.org>
 
+Robert Sedlacek (phaylon) <r.sedlacek@shadowcat.co.uk>
+
 =head1 COPYRIGHT
 
 Copyright (c) 2011 the Web::Simple L</AUTHOR> and L</CONTRIBUTORS>