+sub input_hidden_persistents()
+{
+ return join("",map({
+ my $key=$_;
+ my $val=$W->{"args"}{$key};
+ (!defined $val ? () : '<input type="hidden"'
+ .' name="'.CGI::escapeHTML($key).'"'
+ .' value="'.CGI::escapeHTML($val).'"'
+ .' />'."\n");
+ } (keys(%{$W->{"args_persistent"}}))));
+}
+
+sub http_moved($$;$)
+{
+my($self,$url,$status)=@_;
+
+ $url=url_out($url,"abs"=>1);
+ $status||=Apache::HTTP_MOVED_TEMPORARILY;
+ $W->{"r"}->status($status);
+ $W->{"r"}->header_out("Location"=>$url);
+ $W->{"header_only"}=1;
+ My::Web->heading();
+ exit;
+ die "NOTREACHED";
+}
+