All pastes #912639 Raw Edit

Tedds HTTP server

public text v1 · immutable
·published 2008-02-21 15:16 UTC
rendered paste body
use IO::Socket;$R="/tmp/";$P=1280;$A="HTTP/1.1 200 OK\nServer: PimpHTTPD\nConnection: close\n\n";$S=new IO::Socket::INET->new(Listen=>1,LocalPort=>$P)||die("Can't listen: $!");while $C=$S->accept()){while($D=<$C>){$F=$1 if($D=~/^GET\s+(\S+)/i);last if($D=~/^\r?\s*\r?$/);}$F=~s/%([0-9A-Fa-f][0-9A-Fa-f])/hex($1)/g;if($F=~/\.\.\//){$A="INVALID URL"}else{if(open I,"<$R$F")){while(<I>){$A.=$_;};close(I);}else{$A="$R$F:$!"}};print $C $A;$C->close;}