better setting of request_mods: use method if available
David Kamholz [Mon, 11 Dec 2006 19:14:21 +0000 (19:14 +0000)]
SubRequest.pm

index 29557cb..b5a8bea 100644 (file)
@@ -123,7 +123,13 @@ sub prepare {
     my ($self, $c) = @_;
     my $req = $c->request;
     my %attrs = (%{$self->{orig_request}}, %{$self->{request_mods}});
-    @{$req}{keys %attrs} = values %attrs;
+    while (my ($key,$value) = each %attrs) {
+        if (my $mut = $req->can($key)) {
+            $req->$mut($value);
+        } else {
+            $req->{$key} = $value;
+        }
+    }
 }
 
 1;