# # SMArT # # Static file server # # Copyright 2001 Wilmer van der Gaast (lintux@lintux.cx) # # Updated with favicon and modern asset MIME type support. # sub handle_request() { $f = $c[1]; $f =~ s/[^-_\.A-Za-z0-9]//g; if( ! open( FILE, $smart_static_dir . '/' . $f ) ) { error( 404 ); } $e = $f; $e =~ s/^.*\.//; $e = lc( $e ); if( $e eq 'html' ) { $t = 'text/html'; } elsif( $e eq 'gif' ) { $t = 'image/gif'; } elsif( $e eq 'jpg' || $e eq 'jpeg' ) { $t = 'image/jpeg'; } elsif( $e eq 'png' ) { $t = 'image/png'; } elsif( $e eq 'ico' ) { $t = 'image/x-icon'; } elsif( $e eq 'svg' ) { $t = 'image/svg+xml'; } elsif( $e eq 'webp' ) { $t = 'image/webp'; } elsif( $e eq 'css' ) { $t = 'text/css'; } elsif( $e eq 'js' ) { $t = 'application/javascript'; } else { $t = 'application/octet-stream'; } print <