comparison src/goodjava/webserver/handlers/DirHandler.java @ 1848:6f3f1768fdde default tip

html encode dir names
author Franklin Schmidt <fschmidt@gmail.com>
date Thu, 20 Feb 2025 14:38:07 -0700
parents d88fb2eb15aa
children
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 }