Moved SendResponse() to HttpResponse
parent
6ac9df7c16
commit
a76088b628
|
@ -170,18 +170,14 @@ namespace ln.http
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Logging.Log(e);
|
Logging.Log(e);
|
||||||
|
HttpResponse
|
||||||
SendResponse(
|
.InternalServerError()
|
||||||
connection.GetStream(),
|
.Content(e)
|
||||||
httpRequest,
|
.SendResponse(connection.GetStream(), httpRequest);
|
||||||
HttpResponse
|
|
||||||
.InternalServerError()
|
|
||||||
.Content(e)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
HttpRequest.ClearCurrent();
|
HttpRequest.ClearCurrent();
|
||||||
connection.GetStream().Close();
|
connection.Close();
|
||||||
} finally
|
} finally
|
||||||
{
|
{
|
||||||
lock (currentConnections)
|
lock (currentConnections)
|
||||||
|
@ -191,6 +187,8 @@ namespace ln.http
|
||||||
|
|
||||||
public static void SendResponse(Stream stream, HttpRequest request, HttpResponse response)
|
public static void SendResponse(Stream stream, HttpRequest request, HttpResponse response)
|
||||||
{
|
{
|
||||||
|
response.SendResponse(stream, request);
|
||||||
|
/*
|
||||||
request.FinishRequest();
|
request.FinishRequest();
|
||||||
response.SetHeader("Content-Length", response.ContentStream.Length.ToString());
|
response.SetHeader("Content-Length", response.ContentStream.Length.ToString());
|
||||||
|
|
||||||
|
@ -217,6 +215,7 @@ namespace ln.http
|
||||||
response.ContentStream.Dispose();
|
response.ContentStream.Dispose();
|
||||||
|
|
||||||
stream.Flush();
|
stream.Flush();
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void StartSimpleServer(string[] arguments)
|
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