--- deliantra/server/ext/http.ext 2012/10/30 19:19:39 1.5 +++ deliantra/server/ext/http.ext 2012/10/30 19:25:24 1.6 @@ -25,9 +25,12 @@ } sub respond { - $_[0]->send ("HTTP/1.1 $_[1]\015\012Content-Length: " . (0 + length $_[2]) . "\015\012$_[3]\015\012$_[2]"); + $_[0]->send ("HTTP/1.1 $_[1]\015\012content-length: " . (0 + length $_[2]) . "\015\012$_[3]\015\012$_[2]"); } +my $cache_headers = "cache-control: max-age=8640000\015\012" + . "etag: \"0\"\015\012"; + sub handle_req { my ($self) = @_; @@ -52,7 +55,7 @@ or return $self->respond ("404 illegal face name"); if ($req =~ /if-none-match/i) { # dirtiest hack evar - $self->respond ("304 not modified"); + $self->respond ("304 not modified", "", $cache_headers); return; } @@ -62,11 +65,7 @@ $self->respond ("404 type $type not served yet"); } else { if ($type == 0) { # faces - $self->respond ("200 OK", (cf::face::get_data $idx, 1), - "content-type: image/png\015\012" - . "cache-control: max-age=8640000\015\012" - . "etag: \"0\"\015\012" - ); + $self->respond ("200 OK", (cf::face::get_data $idx, 1), "content-type: image/png\015\012$cache_headers"); } else { $self->respond ("404 type $type not served yet"); }