From: Ian Jackson Date: Sun, 17 Mar 2013 14:12:18 +0000 (+0000) Subject: update_get_need_add_hidden: new function X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=cgi-auth-flexible.git;a=commitdiff_plain;h=0e3eb3aef176eac1e7209f01ad73e2e91f782507 update_get_need_add_hidden: new function --- diff --git a/cgi-auth-flexible.pm b/cgi-auth-flexible.pm index f4e0d68..137de00 100644 --- a/cgi-auth-flexible.pm +++ b/cgi-auth-flexible.pm @@ -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 ($$) {