X-Git-Url: https://git.deb.at/?a=blobdiff_plain;f=lib%2FPackages%2FCGI.pm;h=b15e9edc63162da758865f07f4607bc8a6cf90f7;hb=2c8c7f257bafd443f4e0fe5ec746af4d18b6fb77;hp=9a8584fe6bd51b4cf784ad1dc37d522215ab4e33;hpb=2ec757bb58907b15c43548be5601d4f2b8c7caac;p=deb%2Fpackages.git diff --git a/lib/Packages/CGI.pm b/lib/Packages/CGI.pm index 9a8584f..b15e9ed 100644 --- a/lib/Packages/CGI.pm +++ b/lib/Packages/CGI.pm @@ -4,26 +4,39 @@ use strict; use warnings; use Exporter; -use Packages::Config; our @ISA = qw( Exporter ); -our @EXPORT = qw( DEBUG debug fatal_error ); +our @EXPORT = qw( DEBUG debug fatal_error get_mime ); our @EXPORT_OK = qw( error hint msg note get_all_messages make_url make_search_url ); - # define this to 0 in production mode use constant DEBUG => 1; our $debug = 0; +my %mime_types = ( + txt => 'text/plain', + 'txt.gz' => 'text/plain', + html => 'text/html', + rss => 'application/rss+xml', + rfc822 => 'text/plain', + ); + +sub get_mime { + return $mime_types{$_[0]} || $_[1] || 'text/html'; +} + our (@fatal_errors, @errors, @debug, @msgs, @hints, @notes); +our $http_code; sub reset { @fatal_errors = @errors = @debug = @msgs = @hints = @notes = (); + $http_code = 200; } sub fatal_error { push @fatal_errors, $_[0]; + $http_code = $_[1] if $_[1]; } sub error { push @errors, $_[0]; @@ -333,6 +346,13 @@ sub printindexline { # return ( $start, $end ); #} +sub string2id { + my $string = "@_"; + + $string =~ s/[^\w:.-]/_/g; + return $string; +} + our ( %url_params, %query_params ); sub init_url {