Nathiss.Http 1.0.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package Nathiss.Http --version 1.0.1
NuGet\Install-Package Nathiss.Http -Version 1.0.1
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="Nathiss.Http" Version="1.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Nathiss.Http --version 1.0.1
#r "nuget: Nathiss.Http, 1.0.1"
#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.
// Install Nathiss.Http as a Cake Addin
#addin nuget:?package=Nathiss.Http&version=1.0.1

// Install Nathiss.Http as a Cake Tool
#tool nuget:?package=Nathiss.Http&version=1.0.1

Http

This repository contains the Http project. The Http project contains an implementation of HTTP/1.1 defined by

and an implementation of HTTP/2 defined by

Have in mind that the implementations do NOT implement all HTTP/1.1 and HTTP/2 functionalities. They implement only must-haves and some other features on the fancy site but only the simple ones.

Although HTTP/1.1 and HTTP/2 differ on transport layer, they share the same schematics (methods, header fields, etc.), so that's why I decided to put the implementation in one repository.

Project structure

The implementations of both protocol versions are placed inside Http/ directory. In the project root are placed HTTP schematics shared by both protocol versions.
Inside Http1.1/ directory are placed schematics for HTTP/1.1.
Inside Http2/ directory are placed schematics for HTTP/2.

HTTP/1.1

Hypertext Transfer Protocol Version 1.1 is defined by RFCs ranging from 7230 to 7235. The protocol was previously defined by RFC 2616, which is now obsolete.

Here in the future I'll put the design considerations and design description.

HTTP/2

Hypertext Transfer Protocol Version 2 is defined by RFC 7540.

Here in the future I'll put the design considerations and design description.

Notes

This repository was designed to be used as a submodule of SharpShare repository, thus is has external dependencies to other components of SharpShare (namely Uri but in the future possibly also others). If you wish to use this repository standalone or as a dependency to other project you need to change paths to the projects that this depends on (see Http.csproj). Take a look at .travis.yml file.

License

This program is distributed under The MIT License. See LICENSE.txt file.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp3.1 is compatible. 
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
1.0.6 521 11/12/2020
1.0.5 407 11/12/2020
1.0.4 403 11/12/2020
1.0.3 387 11/12/2020
1.0.2 377 11/12/2020
1.0.1 472 11/12/2020