GlidingSquirrel 0.5.0-alpha

This is a prerelease version of GlidingSquirrel.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package GlidingSquirrel --version 0.5.0-alpha
                    
NuGet\Install-Package GlidingSquirrel -Version 0.5.0-alpha
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="GlidingSquirrel" Version="0.5.0-alpha" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="GlidingSquirrel" Version="0.5.0-alpha" />
                    
Directory.Packages.props
<PackageReference Include="GlidingSquirrel" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add GlidingSquirrel --version 0.5.0-alpha
                    
#r "nuget: GlidingSquirrel, 0.5.0-alpha"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=GlidingSquirrel&version=0.5.0-alpha&prerelease
                    
Install GlidingSquirrel as a Cake Addin
#tool nuget:?package=GlidingSquirrel&version=0.5.0-alpha&prerelease
                    
Install GlidingSquirrel as a Cake Tool

alternate text is missing from this package README image 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 šŸ˜›

The logo is temporary!

Features

  • HTTP 1.0 / 1.1 (RFC 1945 / RFC 1616) supported (mostly - bug reports & pull requests welcome šŸ˜„)
  • 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 šŸ˜„)

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.

Product Compatible and additional computed target framework versions.
.NET Framework net462 is compatible.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.7.1-alpha 750 8/26/2018
0.7.0-alpha 678 7/31/2018
0.6.3-alpha 811 6/21/2018
0.6.2-alpha 804 6/19/2018
0.6.1-alpha 1,000 12/23/2017
0.6.0-alpha 1,015 12/19/2017
0.5.0-alpha 861 12/18/2017

Initial Release.