bonesoul / uhttpsharp Goto Github PK
View Code? Open in Web Editor NEWA very lightweight & simple embedded http server for c#
License: MIT License
A very lightweight & simple embedded http server for c#
License: MIT License
It would be nice if this project had no external dependencies. Looking at the code, it seems like log4net could be easily replaced by a delegate (passed as optional parameter to HttpServer constructor).
I would like to disable the automatic uhttpsharp log in my console application by either some boolean flag or by changing the logger level. Any help?
Hi!
I think this project is the best and simplest http server for c#. But im wondering, if its possible to handle a login, because i have to have that function in my project.
Greets Marcel
Could you please show code snippet, how to add new HTTP method provider/handler (in my case - DLNA - new method called SUBSCRIBE).
And another issue: could you tell me, how to add custom headers to response?
This needs more examples but also, the provided example doesn't work.
There is no provided TimingHandler
IndexHandler
AboutHandler
ErrorHandler
.
The example needs to include some implementation of these, or exclude them.
Hi,
Not an issue, more of a request:
Are there any plans to add support to get access to the data from a http POST?
Cheers,
Looks like we are missing a time-out on stream reader in uhttpsharp\HttpClient.cs
When remote http client gets disconnected due to some network issues (or because of proxies in between not handling the keep-alive header properly), uHttpSharp library code fails to close the socket, this results in open sockets stuck in close_wait state.
Am new to C# not sure how to add this time out.
{
try
{
await InitializeStream();
while (_client.Connected)
{
// TODO : Configuration.
var limitedStream = new NotFlushingStream(new LimitedStream(_stream));
var request = await _requestProvider.Provide(new MyStreamReader(limitedStream)).ConfigureAwait(false);
if (request != null)
{
UpdateLastOperationTime();
var context = new HttpContext(request, _client.RemoteEndPoint);
Logger.InfoFormat("{1} : Got request {0}", request.Uri, _client.RemoteEndPoint);
await _requestHandler(context).ConfigureAwait(false);
if (context.Response != null)
{
var streamWriter = new StreamWriter(limitedStream) { AutoFlush = false };
streamWriter.NewLine = "\r\n";
await WriteResponse(context, streamWriter).ConfigureAwait(false);
//v----- connections seem to be stuck here, resulting in piling up of sockets in close_wait state
await limitedStream.ExplicitFlushAsync().ConfigureAwait(false);
if (!request.Headers.KeepAliveConnection() || context.Response.CloseConnection)
{
_client.Close();
}
}
UpdateLastOperationTime();
}
else
{
_client.Close();
}
}
}
catch (Exception e)
{
// Hate people who make bad calls.
Logger.WarnException(string.Format("Error while serving : {0}", _remoteEndPoint), e);
_client.Close();
}
Logger.InfoFormat("Lost Client {0}", _remoteEndPoint);
}
how to start the server with HTTPS support by loading server.key (passphrase protected) and server.crt?
how to setup routes URLS?
The nuget for uhttpsharp 0.1.6.22 includes a class SessionHandler that is not available in github.
I want the latest version of uhttpsharp source code to debug an issue I'm facing where the CookieStorage ctor fails with an Index out of range error due to incorrect assumption of number of entries in the parsed cookie header:
2017-05-20 11:48:20,298 WARN (HttpClientHandler-22)((null)) Error while serving : 127.0.0.1:53639
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at uhttpsharp.CookiesStorage..ctor(String cookie) in c:\Users\shani\Documents\GitHub\uHttpSharp\uhttpsharp\IHttpContext.cs:line 66
at uhttpsharp.HttpContext..ctor(IHttpRequest request, EndPoint remoteEndPoint) in c:\Users\shani\Documents\GitHub\uHttpSharp\uhttpsharp\HttpContext.cs:line 17
at uhttpsharp.HttpClientHandler.d__1.MoveNext() in c:\Users\shani\Documents\GitHub\uHttpSharp\uhttpsharp\HttpClient.cs:line 82
Thanks!
The license in the root of master is MIT, but the nuget package and source files (example) reference LGPL. Can you clarify whether the whole project is now covered under the MIT license?
How can I host a static project to the HttpResponse?
I have a simple static index.html file with external CSS and js. I want to start an http-server and host this project on it.
Please add instructions for how to use HTTPS support. Dropping a DER encoded CER file into the dir and un-commenting the line of code produces an "The credentials supplied to the package were not recognized" Exception on the first HTTPS request.
After generating a certificate, adding certificate to mozilla (cause it is self signed), it started printing garbage data. Why is that ?
What am I doing wrong ?
deleted
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.