virDir.serveRequest(request);
URLに対して機能するリクエストを処理する単純なDart HTTPServerを実行しています192.168.1.200:8080/index.html
が、または404 Not Found
を使用する場合は. 私は、おそらく素朴ですが、デフォルトは自動でした。ところで、これは私にとってすべて新しいことです。192.168.1.200:8080
192.168.1.200:8080/
HTMLServer のデフォルト設定に気づきませんでした。これはどのように達成されますか?
(編集)
デフォルトを使用して使用を検出し、正しいファイル名を計算することができましたが、ブラウザに配信する方法がわかりません:
_processRequest(newPath, request) { // new path is index.html
File file = new File(newPath);
file.exists().then((found) {
if(found) {
file.openRead().pipe(request.response); // probably dies here
}
else {
_send404(request.response);
}
});
}
[編集]
まだ index.html ファイルを提供できません。VirtualDirector.serveFile() を使用してみましたが、デフォルトの index.html ファイルを処理しようとすると機能しません。私は例に従おうとしてきました。
final HTTP_ROOT_PATH = Platform.script.resolve('../web').toFilePath();
final virDir = new VirtualDirectory(HTTP_ROOT_PATH)
..jailRoot = false // process links will work
..followLinks = true
..allowDirectoryListing = true;
var dir = new Directory(virDir.root);
var indexUri = new Uri.file(dir.path).resolve('/index.html');
virDir.serveFile(new File(indexUri.toFilePath()), request);
これを実行して indexUri.toFilePath() を出力すると、出力は「/index.html」になります
私のコードは /srv/fireimager/bin と /srv/fireimager/web にあり、後者は仮想ディレクトリ ルートです。ユーザーが URL に /index.html を指定していないことを検出すると、動作しません。エラーは発生せず、javascript コンソールには何も表示されないため、ブラウザには何も表示されません。
VirtualDirectly.serveFiler の使い方が明らかにわかりません。