Apache2-API
view release on metacpan or search on metacpan
lib/Apache2/API/Status.pm view on Meta::CPAN
410 => "Zdroj již nenà dále dostupný!",
411 => "Chybná hlaviÄka Content-Length!",
412 => "PÅedbÄžná podmÃnka nesplnÄna!",
413 => "Požadovaná entita je pÅÃliÅ¡ velká!",
414 => "Požadované URI je pÅÃliÅ¡ dlouhé!",
415 => "Nepodporovaný typ média!",
416 => "Požadovanému rozsahu nelze vyhovÄt!",
417 => "OÄekávánà nesplnÄno!",
418 => "Jsem ÄajnÃk",
421 => "ChybnÄ smÄrovaný požadavek",
422 => "Nezpracovatelná entita!",
423 => "Zámek zdroje!",
424 => "SelhávajÃcà závislost!",
425 => "PÅÃliÅ¡ brzy!",
426 => "Vyžadována aktualizace!",
428 => "Vyžadována pÅedpodmÃnka",
429 => "PÅÃliÅ¡ mnoho požadavků!",
431 => "HlaviÄky požadavku pÅÃliÅ¡ velké!",
444 => "PÅipojenà ukonÄeno bez odpovÄdi",
451 => "Nedostupné z právnÃch důvodů!",
499 => "Požadavek ukonÄen klientem",
500 => "Chyba serveru!",
501 => "Nelze zpracovat požadavek!",
502 => "Chybná brána!",
503 => "Služba nenà dostupná!",
504 => "VyprÅ¡el Äas brány!",
505 => "Nepodporovaná verze HTTP",
506 => "Varianta rovnÄž variuje!",
507 => "Nedostatek úložného prostoru!",
508 => "ZjiÅ¡tÄna smyÄka!",
509 => "PÅekroÄeno omezenà šÃÅky pásma",
510 => "NerozÅ¡ÃÅeno",
511 => "Vyžadováno sÃÅ¥ové ovÄÅenÃ",
599 => "Chyba Äasového limitu sÃÅ¥ového pÅipojenÃ",
},
# Ref: <https://developer.mozilla.org/de/docs/Web/HTTP/Status/100>
# <https://www.dotcom-monitor.com/wiki/de/knowledge-base/http-status-codes/>
de_DE => {
100 => "Weiter",
101 => "Protokolle wechseln",
102 => "Verarbeitung",
103 => "Frühe Hinweise",
200 => "OK",
201 => "Erstellt",
202 => "Akzeptiert",
203 => "Nicht autorisierende Informationen",
204 => "Kein Inhalt",
205 => "Inhalt zurücksetzen",
206 => "Teilinhalt",
207 => "Multi-Status",
208 => "Bereits gemeldet",
226 => "IM verwendet",
300 => "Mehrfachauswahlmöglichkeiten",
301 => "Dauerhaft verschoben!",
302 => "Vorübergehend verschoben!",
303 => "Andere sehen",
304 => "Nicht geändert",
305 => "Proxy verwenden",
307 => "Vorübergehende Umleitung!",
308 => "Dauerhafte Umleitung!",
400 => "Fehlerhafte Anfrage!",
401 => "Authentifizierung erforderlich!",
402 => "Zahlung erforderlich!",
403 => "Zugriff verweigert!",
404 => "Objekt nicht gefunden!",
405 => "Methode nicht erlaubt!",
406 => "Nicht akzeptabel!",
407 => "Proxy-Authentifizierung erforderlich!",
408 => "Zeitlimit überschritten!",
409 => "Konflikt!",
410 => "Objekt nicht mehr verfügbar!",
411 => "Content-Length-Angabe fehlerhaft!",
412 => "Vorbedingung nicht erfüllt!",
413 => "Ãbergebene Daten zu groÃ!",
414 => "Ãbergebener URI zu lang!",
415 => "Nicht unterstützter Medientyp!",
416 => "Bereich nicht erfüllbar!",
417 => "Erwartung fehlgeschlagen!",
418 => "Ich bin eine Teekanne",
421 => "Fehlgeleitete Anfrage",
422 => "Unverarbeitbare Entität!",
423 => "Ressource gesperrt!",
424 => "Fehlende Abhängigkeit!",
425 => "Zu früh!",
426 => "Upgrade erforderlich!",
428 => "Vorbedingung erforderlich",
429 => "Zu viele Anfragen!",
431 => "Anfrage-Header zu groÃ!",
444 => "Verbindung ohne Antwort geschlossen",
451 => "Aus rechtlichen Gründen nicht verfügbar!",
499 => "Client die Verbindung schlieÃt",
500 => "Serverfehler!",
501 => "Anfrage nicht ausführbar!",
502 => "Fehlerhaftes Gateway!",
503 => "Dienst nicht verfügbar!",
504 => "Gateway-Zeitüberschreitung!",
505 => "HTTP-Version nicht unterstützt",
506 => "Variante variiert ebenfalls!",
507 => "Unzureichender Speicherplatz!",
508 => "Endlosschleife erkannt!",
509 => "Bandbreitenlimit überschritten",
510 => "Nicht erweitert",
511 => "Netzwerkauthentifizierung erforderlich",
599 => "Timeout-Fehler bei Netzwerkverbindung",
},
en_GB => {
100 => "Continue",
101 => "Switching Protocols",
102 => "Processing",
103 => "Early Hints",
200 => "OK",
201 => "Created",
202 => "Accepted",
203 => "Non-authoritative Information",
204 => "No Content",
205 => "Reset Content",
206 => "Partial Content",
207 => "Multi-Status",
208 => "Already Reported",
226 => "IM Used",
300 => "Multiple Choices",
301 => "Moved permanently!",
302 => "Found (temporary redirect)!",
303 => "See Other",
304 => "Not Modified",
305 => "Use Proxy",
307 => "Temporary redirect!",
308 => "Permanent redirect!",
400 => "Bad request!",
401 => "Authentication required!",
402 => "Payment required!",
403 => "Access forbidden!",
404 => "Object not found!",
405 => "Method not allowed!",
406 => "Not acceptable!",
407 => "Proxy authentication required!",
408 => "Request time-out!",
409 => "Conflict!",
410 => "Resource is no longer available!",
411 => "Bad Content-Length!",
412 => "Precondition failed!",
413 => "Request entity too large!",
414 => "Submitted URI too long!",
415 => "Unsupported media type!",
416 => "Range not satisfiable!",
417 => "Expectation failed!",
# Humour: April's fool
# <https://en.wikipedia.org/wiki/Hyper_Text_Coffee_Pot_Control_Protocol>
418 => "I'm a teapot",
421 => "Misdirected Request",
422 => "Unprocessable entity!",
423 => "Resource locked!",
424 => "Failed dependency!",
lib/Apache2/API/Status.pm view on Meta::CPAN
sub status_message
{
my $self = shift( @_ );
my( $code, $lang );
if( scalar( @_ ) == 2 )
{
( $code, $lang ) = @_;
}
else
{
$code = shift( @_ );
$lang = 'en_GB';
}
return( $self->error( "No language code was provided." ) ) if( !defined( $lang ) || !CORE::length( $lang ) );
$lang = 'en_GB' if( !exists( $HTTP_CODES->{ $lang } ) );
my $ref = $HTTP_CODES->{ $lang };
return( $ref->{ $code } );
}
sub supported_languages
{
my $self = shift( @_ );
return( [sort( keys( %$HTTP_CODES ) )] );
}
sub _min_max
{
my $this = shift( @_ );
my( $min, $max, $code ) = @_;
return( $this->error( "A 3 digit code is required." ) ) if( !defined( $code ) || $code !~ /^\d{3}$/ );
return( $code >= $min && $code < $max );
}
# NOTE: sub FREEZE is inherited
sub STORABLE_freeze { CORE::return( CORE::shift->FREEZE( @_ ) ); }
sub STORABLE_thaw { CORE::return( CORE::shift->THAW( @_ ) ); }
# NOTE: sub THAW is inherited
1;
# NOTE: POD
__END__
=encoding utf8
=head1 NAME
Apache2::API::Status - Apache2 Status Codes
=head1 SYNOPSIS
use Apache2::API::Status ':common';
use Apache2::API::Status ':all';
say Apache2::API::Status::HTTP_TOO_MANY_REQUESTS;
# returns code 429
use Apache2::API::Status;
# in German: Zu viele Anfragen
say $Apache2::API::Status::HTTP_CODES->{de_DE}->{429};
# same
say $Apache2::API::Status::HTTP_CODES->{de}->{429};
# In English: Too Many Requests
say $Apache2::API::Status::HTTP_CODES->{en_GB}->{429};
# same
say $Apache2::API::Status::HTTP_CODES->{en}->{429};
# in French: Trop de requête
say $Apache2::API::Status::HTTP_CODES->{fr_FR}->{429};
# same
say $Apache2::API::Status::HTTP_CODES->{fr}->{429};
# In Japanese: ãªã¯ã¨ã¹ãéå¤§ã§æå¦ãã
say $Apache2::API::Status::HTTP_CODES->{ja_JP}->{429};
# same
say $Apache2::API::Status::HTTP_CODES->{ja}->{429};
# In Korean: ë무 ë§ì ìì²
say $Apache2::API::Status::HTTP_CODES->{ko_KR}->{429};
# same
say $Apache2::API::Status::HTTP_CODES->{ko}->{429};
# In Russian: ÑлиÑком много запÑоÑов
say $Apache2::API::Status::HTTP_CODES->{ru_RU}->{429};
# same
say $Apache2::API::Status::HTTP_CODES->{ru}->{429};
# In simplified Chinese: 太å¤è¯·æ±
say $Apache2::API::Status::HTTP_CODES->{zh_CN}->{429};
# In Taiwanese (traditional) Chinese: 太å¤è«æ±
say $Apache2::API::Status::HTTP_CODES->{zh_TW}->{429};
But maybe more simply:
my $status = Apache2::API::Status->new;
say $status->status_message( 429 => 'ja_JP' );
# Or without the language code parameter, it will default to en_GB
say $status->status_message( 429 );
# Is success
say $status->is_info( 102 ); # true
say $status->is_success( 200 ); # true
say $status->is_redirect( 302 ); # true
say $status->is_error( 404 ); # true
say $status->is_client_error( 403 ); # true
say $status->is_server_error( 501 ); # true
=head1 VERSION
v0.2.1
=head1 DESCRIPTION
This module allows to get the localised version of the HTTP status for a given code for currently supported languages: fr_FR (French), en_GB (British English) and ja_JP (Japanese), de_DE (German), ko_KR (Korean), ru_RU (Russian), zh_CN (simplified Ch...
It also provides some functions to check if a given code is an information, success, redirect, error, client error or server error code.
It provides a full set of constants to use and import.
Finally, it adds a few more C<Apache2::Const>. See L</CONSTANTS> below.
=head1 METHODS
=head2 init
( run in 1.240 second using v1.01-cache-2.11-cpan-b16cb0d3907 )