HTTP Response Header werden gepuffert, der Puffer ist ein Attribut

Die Lebensdauer einer Framework-Instanz ist nach dem Senden der Response abgelaufen

Betrachte ​untenstehende ​Methode ​für ​eine ​Framework-Instanz:

# ​setzt ​HTTP ​Header
sub ​header{
 ​ ​ ​ ​my ​$self ​= ​shift;
 ​ ​ ​ ​my ​%header ​= ​@_;
 ​ ​ ​ ​%{$self->{HEADERS}} ​= ​(%{$self->{HEADERS}}, ​%header) ​if ​@_;
 ​ ​ ​ ​$self->{HEADERS}{'Content-Language'} ​= ​$self->{LANG};
 ​ ​ ​ ​my ​@hs ​= ​();
 ​ ​ ​ ​# ​Default ​Header ​Content-Type ​sicherstellen
 ​ ​ ​ ​if(not ​exists ​$self->{HEADERS}{'Content-Type'}){
 ​ ​ ​ ​ ​ ​ ​ ​$self->{HEADERS}{'Content-Type'} ​= ​'text/html; ​charset=UTF-8';
 ​ ​ ​ ​}
 ​ ​ ​ ​foreach ​my ​$h(keys ​%{$self->{HEADERS}}){
 ​ ​ ​ ​ ​ ​ ​ ​push ​@hs, ​"$h: ​$self->{HEADERS}{$h}";
 ​ ​ ​ ​}
 ​ ​ ​ ​return ​join("\n", ​@hs)."\n\n";
}

Mit ​dem ​Aufruf ​dieser ​Methode ​können ​beliebige ​HTTP-Response-Header ​gesetzt ​werden, ​wobei ​der ​Aufruf ​in ​jeder ​beliebigen ​Methode ​des ​Famework-Interface ​erfolgen ​kann. ​Sämtliche ​auszugebenden ​Header ​werden ​bis ​zur ​endgültigen ​Ausgabe ​gepuffert, ​der ​Puffer ​selbst ​ist ​ein ​Attribut ​der ​Framework-Instanz.


Anbieter: nmq​rstx-18­@yahoo.de, die Seite verwendet funktionsbedingt einen Session-Cookie und ist Bestandteil meines nach modernen Aspekten in Perl entwickelten Frameworks.