Mercurial Hosting > luan
comparison src/goodjava/webserver/handlers/DirHandler.java @ 1848:6f3f1768fdde
html encode dir names
| author | Franklin Schmidt <fschmidt@gmail.com> |
|---|---|
| date | Thu, 20 Feb 2025 14:38:07 -0700 |
| parents | d88fb2eb15aa |
| children | 28cd9b3abdb3 |
comparison
equal
deleted
inserted
replaced
| 1847:aa008b20d820 | 1848:6f3f1768fdde |
|---|---|
| 8 import java.text.DateFormat; | 8 import java.text.DateFormat; |
| 9 import java.text.SimpleDateFormat; | 9 import java.text.SimpleDateFormat; |
| 10 import java.util.Arrays; | 10 import java.util.Arrays; |
| 11 import java.util.Comparator; | 11 import java.util.Comparator; |
| 12 import java.util.Date; | 12 import java.util.Date; |
| 13 import goodjava.html.Html; | |
| 13 import goodjava.webserver.Handler; | 14 import goodjava.webserver.Handler; |
| 14 import goodjava.webserver.Request; | 15 import goodjava.webserver.Request; |
| 15 import goodjava.webserver.Response; | 16 import goodjava.webserver.Response; |
| 16 import goodjava.webserver.ResponseOutputStream; | 17 import goodjava.webserver.ResponseOutputStream; |
| 17 | 18 |
| 64 } | 65 } |
| 65 File[] a = file.listFiles(); | 66 File[] a = file.listFiles(); |
| 66 Arrays.sort(a,sorter); | 67 Arrays.sort(a,sorter); |
| 67 for( File child : a ) { | 68 for( File child : a ) { |
| 68 String name = child.getName(); | 69 String name = child.getName(); |
| 70 name = Html.encode(name); | |
| 69 boolean isDir = child.isDirectory(); | 71 boolean isDir = child.isDirectory(); |
| 70 if( isDir ) | 72 if( isDir ) |
| 71 name += '/'; | 73 name += '/'; |
| 72 writer.write( "\t\t\t<tr>\n" ); | 74 writer.write( "\t\t\t<tr>\n" ); |
| 73 writer.write( "\t\t\t\t<td><a href='"+name+"'>"+name+"</a></td>\n" ); | 75 writer.write( "\t\t\t\t<td><a href=\""+name+"\">"+name+"</a></td>\n" ); |
| 74 writer.write( "\t\t\t\t<td>"+fmt.format(new Date(child.lastModified()))+"</td>\n" ); | 76 writer.write( "\t\t\t\t<td>"+fmt.format(new Date(child.lastModified()))+"</td>\n" ); |
| 75 if( !isDir ) | 77 if( !isDir ) |
| 76 writer.write( "\t\t\t\t<td align=right>"+child.length()+" bytes</td>\n" ); | 78 writer.write( "\t\t\t\t<td align=right>"+child.length()+" bytes</td>\n" ); |
| 77 writer.write( "\t\t\t</tr>\n" ); | 79 writer.write( "\t\t\t</tr>\n" ); |
| 78 } | 80 } |
