Moved SendResponse() to HttpResponse
parent
6ac9df7c16
commit
a76088b628
|
@ -170,18 +170,14 @@ namespace ln.http
|
|||
catch (Exception e)
|
||||
{
|
||||
Logging.Log(e);
|
||||
|
||||
SendResponse(
|
||||
connection.GetStream(),
|
||||
httpRequest,
|
||||
HttpResponse
|
||||
.InternalServerError()
|
||||
.Content(e)
|
||||
);
|
||||
.SendResponse(connection.GetStream(), httpRequest);
|
||||
}
|
||||
|
||||
HttpRequest.ClearCurrent();
|
||||
connection.GetStream().Close();
|
||||
connection.Close();
|
||||
} finally
|
||||
{
|
||||
lock (currentConnections)
|
||||
|
@ -191,6 +187,8 @@ namespace ln.http
|
|||
|
||||
public static void SendResponse(Stream stream, HttpRequest request, HttpResponse response)
|
||||
{
|
||||
response.SendResponse(stream, request);
|
||||
/*
|
||||
request.FinishRequest();
|
||||
response.SetHeader("Content-Length", response.ContentStream.Length.ToString());
|
||||
|
||||
|
@ -217,6 +215,7 @@ namespace ln.http
|
|||
response.ContentStream.Dispose();
|
||||
|
||||
stream.Flush();
|
||||
*/
|
||||
}
|
||||
|
||||
public static void StartSimpleServer(string[] arguments)
|
||||
|
|
|
@ -173,6 +173,38 @@ namespace ln.http
|
|||
|
||||
|
||||
|
||||
public virtual void SendResponse(Stream stream, HttpRequest httpRequest)
|
||||
{
|
||||
httpRequest.FinishRequest();
|
||||
SetHeader("Content-Length", ContentStream.Length.ToString());
|
||||
|
||||
StreamWriter streamWriter = new StreamWriter(stream);
|
||||
streamWriter.NewLine = "\r\n";
|
||||
|
||||
streamWriter.WriteLine("{0} {1} {2}", httpRequest.Protocol, (int)HttpStatusCode, HttpStatusCode.ToString());
|
||||
foreach (String headerName in GetHeaderNames())
|
||||
{
|
||||
streamWriter.WriteLine("{0}: {1}", headerName, GetHeader(headerName));
|
||||
}
|
||||
|
||||
foreach (HttpCookie httpCookie in Cookies)
|
||||
{
|
||||
streamWriter.WriteLine("Set-Cookie: {0}", httpCookie.ToString());
|
||||
}
|
||||
|
||||
streamWriter.WriteLine();
|
||||
streamWriter.Flush();
|
||||
|
||||
ContentStream.Position = 0;
|
||||
ContentStream.CopyTo(stream);
|
||||
ContentStream.Close();
|
||||
ContentStream.Dispose();
|
||||
|
||||
stream.Flush();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue