private void session_OnStreamOpened(object sender, StreamEventArgs e)
{
string file = e.Stream.Headers[ProtocolHeaders.Path];
Console.WriteLine("Requested file: " + file);
if (string.IsNullOrEmpty(file))
{
Console.WriteLine("Empty file name in the request");
e.Stream.Close(StatusCode.RefusedStream);
return;
}
string path = Path.GetFullPath("root" + file);
if (!File.Exists(path))
{
Console.WriteLine("File {0} not found", file);
e.Stream.Close(StatusCode.RefusedStream);
return;
}
try
{
using (StreamReader sr = new StreamReader(path))
{
e.Stream.SendData(new ProtocolData(sr.ReadToEnd()), true);
Console.WriteLine("File {0} sent", file);
}
}
finally
{
e.Stream.Close();
}
}