chiark / gitweb /
update_get_need_add_hidden: new function
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 17 Mar 2013 14:12:18 +0000 (14:12 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 17 Mar 2013 14:12:18 +0000 (14:12 +0000)
cgi-auth-flexible.pm

index f4e0d6830a370b473650e1bb53d54a028a2be526..137de002125ffd661342d9de22bcbcedcb50ed14 100644 (file)
@@ -1297,14 +1297,22 @@ our %_resource_get_needs_secret_hidden =
     (map { $_ => 0 } qw(PAGE FRAME IFRAME SRCDUMP STYLESHEET FAVICON ROBOTS),
      map { $_ => 1 } qw(IMAGE SCRIPT AJAX-XML AJAX-JSON AJAX-OTHER));
 
-die todo make so can add new ones;
+sub update_get_need_add_hidden ($$) {
+    my ($r, $reqtype, $value) = @_;
+    my $hash = ref $r
+       ? ($r->{GetNeedsSecretHidden} ||= { })
+       : \%_resource_get_needs_secret_hidden;
+    $hash->{$reqtype} = $value;
+}
 
 sub need_add_hidden ($$) {
     my ($r, $method, $reqtype) = @_;
     return 1 if $method ne 'GET';
+    my $ent = $r->{GetNeedsSecretHidden}{$reqtype};
+    return $ent if defined $ent;
     my $ent = $_resource_get_needs_secret_hidden{$reqtype};
-    die "unsupported nonpage GET type $reqtype" unless defined $ent;
-    return $ent;
+    return $ent if defined $ent;
+    die "unsupported nonpage GET type $reqtype";
 }
 
 sub check_nonpage ($$) {