}
die unless $cookt eq 'y';
- die unless $parmt eq 'y';
- die unless $cookh eq $parmh;
+ unless ($r->{S}{promise_check_mutate} && $meth eq 'GET') {
+ die unless $parmt eq 'y';
+ die unless $cookh eq $parmh;
+ }
$r->{AssocSecret} = $cooks;
$r->{UserOK} = $cooku;
print STDERR "C-D-C OK\n";
die "unchecked" unless exists $r->{Divert};
}
+sub _is_post ($) {
+ my ($r) = @_;
+ my $meth = $r->_ch('get_method');
+ return $meth eq 'POST';
+}
+
sub _must_be_post ($) {
my ($r) = @_;
my $meth = $r->_ch('get_method');
$r->_must_be_post();
}
+sub mutate_ok ($) {
+ my ($r) = @_;
+ $r->_assert_checked();
+ die if $r->{Divert};
+ return $r->_is_post();
+}
+
#---------- output ----------
sub secret_cookie_val ($) {