GlidingSquirrel 0.6.0-alpha

A http and websockets server implementation, written in C#. Is not
related to System.Net.HttpServer. Currently in alpha, so please report
any bugs you find by opening an issue against this project repository :-)

This is a prerelease version of GlidingSquirrel.
There is a newer prerelease version of this package available.
See the version list below for details.
Install-Package GlidingSquirrel -Version 0.6.0-alpha
dotnet add package GlidingSquirrel --version 0.6.0-alpha
paket add GlidingSquirrel --version 0.6.0-alpha
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

GlidingSquirrel

A http (and Websockets!) server, implemented in C#.

Originally built for the /r/dailyprogrammer hard challenge #322.

GlidingSquirrel is currently in alpha testing! Don't use this in production unless you really know what you're doing :P

The logo is temporary!

Features

  • HTTP 1.0 / 1.1 (RFC 1945 / RFC 1616) supported (mostly - bug reports & pull requests welcome :D)
  • Uses C♯ 7
  • Does not have anything to do with System.Net.HttpServer whatsoever at all
  • Easily extendable (it's an abstract class)
  • Supports client requests with bodies (e.g. POST and PUT, but any http verb with a content-length will work)
  • Supports HEAD requests
  • Parses and respects the Accepts HTTP header
  • Supports keep-alive connections (HTTP 1.1 only, of course)
  • Supports Websockets (RFC 6455, Initial implementation, version 13 only, needs thorough testing - detailed bug reports welcome :D)

Todo

  • Trailing headers
  • Make logging much more flexible (it logs to the console only at the moment)
  • Give implementors of WebsocketServer a cleaner way to decide whether they want to accept a connection or not

Getting Started

A tutorial will be coming soon. For now, take a look at the HttpServer class and look at the abstract methods and their intellisense comments.

Useful Links

GlidingSquirrel

A http (and Websockets!) server, implemented in C#.

Originally built for the /r/dailyprogrammer hard challenge #322.

GlidingSquirrel is currently in alpha testing! Don't use this in production unless you really know what you're doing :P

The logo is temporary!

Features

  • HTTP 1.0 / 1.1 (RFC 1945 / RFC 1616) supported (mostly - bug reports & pull requests welcome :D)
  • Uses C♯ 7
  • Does not have anything to do with System.Net.HttpServer whatsoever at all
  • Easily extendable (it's an abstract class)
  • Supports client requests with bodies (e.g. POST and PUT, but any http verb with a content-length will work)
  • Supports HEAD requests
  • Parses and respects the Accepts HTTP header
  • Supports keep-alive connections (HTTP 1.1 only, of course)
  • Supports Websockets (RFC 6455, Initial implementation, version 13 only, needs thorough testing - detailed bug reports welcome :D)

Todo

  • Trailing headers
  • Make logging much more flexible (it logs to the console only at the moment)
  • Give implementors of WebsocketServer a cleaner way to decide whether they want to accept a connection or not

Getting Started

A tutorial will be coming soon. For now, take a look at the HttpServer class and look at the abstract methods and their intellisense comments.

Useful Links

Release Notes

Add intellisense comments, and raise minimum logging level to warning

Version History

Version Downloads Last updated
0.6.1-alpha 51 12/23/2017
0.6.0-alpha (current version) 52 12/19/2017
0.5.0-alpha 44 12/18/2017