Êþº¾2Àù ú û üýþ ÿ   y          ü ÿ           !" % % # $% & *' () * +, - +  . 4 -/ 40 41 23 24 25 .6 2789:; 2< = >? G G@ G MA 2BC Mú MD ME FG RH RI +J R yKL MNO Z -I ZJ ZP +Q 2R STU 2V  W XY Z[ Z\] .^_ 2` ab cdefghij . klmnsocketLjava/net/ServerSocket; classPoolLjavassist/ClassPool; translatorLjavassist/Translator; endofline[BtypeHtmlI ConstantValue typeClasstypeGiftypeJpegtypeTextdebugDirLjava/lang/String; htmlfileBasemain([Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablewebLjavassist/tools/web/Webserver;args[Ljava/lang/String; StackMapTable Exceptions(Ljava/lang/String;)Vthisport(I)V setClassPool(Ljavassist/ClassPool;)Vloader addTranslator.(Ljavassist/ClassPool;Ljavassist/Translator;)Vcptopend()Vloggingmsg'(Ljava/lang/String;Ljava/lang/String;)Vmsg1msg29(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Vmsg3logging2runth#Ljavassist/tools/web/ServiceThread;eLjava/io/IOException;process(Ljava/net/Socket;)V$Ljavassist/tools/web/BadHttpRequest;clntLjava/net/Socket;inLjava/io/InputStream;cmdoutLjava/io/OutputStream;qrùst)readLine)(Ljava/io/InputStream;)Ljava/lang/String;bufLjava/lang/StringBuffer;c.skipLine(Ljava/io/InputStream;)IlendoReply@(Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/lang/String;)VfilenameurlNamefileTypefinLjava/io/FileInputStream; filebufferbarrayLjava/io/ByteArrayOutputStream; classfilefileLjava/io/File;CGO checkFilename(Ljava/lang/String;I)VCiletUsersSendClassfile,(Ljava/io/OutputStream;Ljava/lang/String;I)ZLjavassist/CtClass;Ljava/lang/Exception;length classname] sendHeader(Ljava/io/OutputStream;JI)V dataLengthJfiletype replyError=(Ljava/io/OutputStream;Ljavassist/tools/web/BadHttpRequest;)V SourceFileWebserver.javajavassist/tools/web/Webserver œ ´«u vw7Usage: java javassist.tools.web.Webserver x yz {| œ  œ« Ž java/net/ServerSocket z{ |} ~} ~¢ « Âw €  ready to service...!javassist/tools/web/ServiceThread ‚ œƒ ~«java/io/IOException „… ¬java/io/BufferedInputStreams †‡ œˆ ÊË ‰Š‹ Œ…java/util/Date ¬± ÐÑjava/io/BufferedOutputStream Ž œ ÓÔ"javassist/tools/web/BadHttpRequest ôõt «qjava/lang/StringBuffer ‘’ “”GET /r •– —˜ ™š.class ›–.html.htm.gif.jpg ì’ èé äåjava/lang/StringBuilder “œ æ žŸ java/io/File  ¡ ì¢ ïðjava/io/FileInputStream œ£ ‘¤ ¥¦ §¨/© ª«java/io/ByteArrayOutputStream ¬­ ¥® ¯°± ²³.. —| ´µ¶ ·¸¹ º­ »java/lang/Exception œ¼HTTP/1.0 200 OK ½­ €Content-Length: ¾ „¿&Content-Type: application/octet-streamContent-Type: text/htmlContent-Type: image/gifContent-Type: image/jpgContent-Type: text/plain bad request: ³HTTP/1.0 400 Bad Request

Bad Request

java/lang/Objectjavassist/NotFoundException javassist/CannotCompileExceptionjava/io/InputStreamjava/lang/Stringjava/net/Socketjava/io/OutputStreamjava/lang/SystemerrLjava/io/PrintStream;java/io/PrintStreamprintlnjava/lang/IntegerparseInt(Ljava/lang/String;)Ijavassist/Translatorstartcloseprintaccept()Ljava/net/Socket;3(Ljavassist/tools/web/Webserver;Ljava/net/Socket;)VtoString()Ljava/lang/String;getInputStream()Ljava/io/InputStream;(Ljava/io/InputStream;)VgetInetAddress()Ljava/net/InetAddress;java/net/InetAddress getHostNamegetOutputStream()Ljava/io/OutputStream;(Ljava/io/OutputStream;)Vflushread()Iappend(C)Ljava/lang/StringBuffer; startsWith(Ljava/lang/String;)ZindexOf(II)I substring(II)Ljava/lang/String;endsWith-(Ljava/lang/String;)Ljava/lang/StringBuilder; separatorCharreplace(CC)Ljava/lang/String;canRead()Z()J(Ljava/io/File;)V([B)Iwrite([BII)VgetClass()Ljava/lang/Class;java/lang/ClassgetResourceAsStream)(Ljava/lang/String;)Ljava/io/InputStream; toByteArray()[B([B)VcharAt(I)Cjava/lang/CharacterisJavaIdentifierPart(C)ZonLoad*(Ljavassist/ClassPool;Ljava/lang/String;)Vjavassist/ClassPoolget'(Ljava/lang/String;)Ljavassist/CtClass;javassist/CtClass toBytecode writeFile(Ljava/lang/Exception;)VgetBytesjava/lang/Long(J)Ljava/lang/String;!y z{|}~€‚ƒ„…†ƒ„‡ˆƒ„‰Šƒ„‹Œƒ„Ž ‘’“s!*¾ »Y*2·L+¶§ ²¶±”OPQRT V•–—!˜™š›œ“A *+¸·±” ^_• ž— Ÿ›œ “q%*· *µ *µ *» Y· µ*µ*µ±”f8 Hghi$j•%ž—%Ÿƒ›¡¢“>*+µ±” qr•ž—£}¤¥“_*+µ*,µ,*´¹±”€ ‚• ž—¦}§›¨©ª«“6*´¶±” ˆ‰• ž—›¬“@²+¶±” •ž—­¬®“a²+¶²¶²,¶±”–—˜™• ž—¯°¬±“‚&²+¶²¶²,¶²¶²-¶±”Ÿ ¡¢£%¤•*&ž—&¯&°&²³“L²¶²+¶±”ª«¬•ž—­´«“–+²¶»Y**´¶·L+¶§ÿìL*+¶¶§ÿà”²µ¶º¸ ¹(º• µ¶ ·¸+ž—šV¹º»“,h»Y+¶ ·!M*,·"N*+¶#¶$»%Y·&¶'-¶(*,·)ž§ÿø»*Y+¶+·,:*,-¶-§ :*·/¶0,¶1¶2+¶3±@HK.”:¾ ¿À(Â3Å@ÇHËKÉMÊUÍZÎ^ÏcÐgÑ•>M·¼hž—h½¾ \¿ÀVÁ@(ÂÚ&ý(ÄÅ ÿÆÇÄÅÈÉ ›ÊË“•+»4Y·5M+¶6Y>› Ÿ ,’¶7W§ÿê+¶6W,¶8°”ÔÖ×!Ù&Ú•*+ž—+¿À#ÌÍ΃š üÏü›ÐÑ“’>+¶6Y=› Ÿ „§ÿî+¶6W¬”ßàáãä•*ž—¿À΃ÒƒšýÿÆÄ›ÓÔ“¿ –-9¶:™-- ¶;¶¶?™ 6§@@¶?š A¶?™ 6§&B¶?™ 6§C¶?™ 6§6¶D6 *,·E™±*·F*´ Æ»GY·H*´ ¶I¶I¶J:²K/Ÿ/²K¶L:»MY·N:¶O™D*,¶P·Q»RY·S: ¼:   ¶T6§, ¶U§ÿæ ¶V± p*¶W»GY·HX¶I¶I¶J¶Y:  ÆN»ZY·[: ¼:   ¶\6§  ¶]§ÿå ¶^: *, ¾…·Q, ¶_ ¶1±».Y·=¿”º.ô õ÷%ù/ú5ûIüOýYþ_ÿiory‹Œ ” › ³ »ÇÒÚæñø $!%>'C(L)S+\,a-d/q2x3‚4ˆ56Ž:•ÔÕÖ2׃L׃\׃l׃ñ*ØÙ ø#Ú LBÛÜ S;Ú xÝ >PØÀ –ž—–¿À–ÂÖÁyÒƒr$׃%qÕ%qÖÒÄÞßš}ÿÆÄÈÅÅÅÿÆÄÈÅÅÅÿÆÄÈÅÅÅ&þ0àáâ ùþ7Äãâ ø›.äå“ÃD>¢.+¶`6¸aš.Ÿ/Ÿ ».Y·=¿„§ÿÓ+b¶c› ».Y·=¿±”"@AB$C,@2F;GCH•4Îæ0çƒDž—DÕDÒƒš ü)ú›.èé“zt*´Ç¬,d¶</.¶L:*´Æ*´*´¹d*´¶e:¶f:*´ Æ *´ ¶g§:».Y·i¿*+¾…·Q+¶_¬SVh”>NO RU"V1X<YCZJ[S_V]X^balbrc•R<ÎêX ·ëtž—tÂÃtÕtìƒC1ÝYíšP ý'Åÿ!ÆÈÅâÅÿÆÈÅÅîÿ ÆÈÅâÅ›.ïð“*‘+j¶k¶_+²l¶_+m¶k¶_+ ¸n¶k¶_+²l¶_ +o¶k¶_§H +p¶k¶_§6 +q¶k¶_§$ +r¶k¶_§  +s¶k¶_+²l¶_+²l¶_±”Ji jkl$m+n1o=pCqOrUsatgusvyw‚y‰z{•*‘ž—‘ÂÑñò‘óƒš=›ôõ“;*»GY·Ht¶I,¶u¶I¶J¶v+w¶k¶_+²l¶_+²l¶_+x¶k¶_±”€#‚*ƒ1„:…• ;ž—;ÂÃ;·¼›ö«“)¼Y TY T³l±”*÷ø