https://github.com/bytedev/bytedev.http
.NET Standard library with some HTTP related functionality.
https://github.com/bytedev/bytedev.http
csharp form-url-encoded http http-status-codes serializer
Last synced: 4 months ago
JSON representation
.NET Standard library with some HTTP related functionality.
- Host: GitHub
- URL: https://github.com/bytedev/bytedev.http
- Owner: ByteDev
- License: mit
- Created: 2020-05-10T10:25:40.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-05-30T07:54:22.000Z (over 2 years ago)
- Last Synced: 2025-08-29T20:34:50.089Z (4 months ago)
- Topics: csharp, form-url-encoded, http, http-status-codes, serializer
- Language: C#
- Homepage:
- Size: 113 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://ci.appveyor.com/project/bytedev/ByteDev-Http/branch/master)
[](https://www.nuget.org/packages/ByteDev.Http)
[](https://github.com/ByteDev/ByteDev.Http/blob/master/LICENSE)
# ByteDev.Http
.NET Standard library with some HTTP related functionality.
Looking for the form URL encoded functionality? It has now moved to a new project [ByteDev.FormUrlEncoded](https://github.com/ByteDev/ByteDev.FormUrlEncoded) which is also on [nuget](https://www.nuget.org/packages/ByteDev.FormUrlEncoded/).
## Installation
ByteDev.Http has been written as a .NET Standard 2.0 library, so you can consume it from a .NET Core or .NET Framework 4.6.1 (or greater) application.
ByteDev.Http is hosted as a package on nuget.org. To install from the Package Manager Console in Visual Studio run:
`Install-Package ByteDev.Http`
Further details can be found on the [nuget page](https://www.nuget.org/packages/ByteDev.Http/).
## Release Notes
Releases follow semantic versioning.
Full details of the release notes can be viewed on [GitHub](https://github.com/ByteDev/ByteDev.Http/blob/master/docs/RELEASE-NOTES.md).
## Usage
Library currently consists of the following main classes:
- `HttpStatusCodeInfo`
- `MediaType`
As well as a few HTTP content specialized classes (located in namespace: `ByteDev.Http.Content`):
- `EmptyContent`
- `FormUrlEncodedContent`
- `JsonContent`
- `XmlContent`
---
### HttpStatusCodeInfo
Represents a standard HTTP status code with extended information.
Located in namespace: `ByteDev.Http`.
```csharp
HttpStatusCodeInfo statusCode = HttpStatusCodeInfo.CreateFromCode(404);
// statusCode.Code == 404
// statusCode.Name == "Not Found"
// statusCode.Category.Code == 4
// statusCode.Category.Name == "Client Error"
// statusCode.Category.Description == "Request contains bad syntax or cannot be fulfilled."
```
---
### MediaType
Represents an internet media type. Also known as a Multipurpose Internet Mail Extensions (MIME) type.
Located in namespace: `ByteDev.Http`.
```csharp
var mediaType = new MediaType("application/vnd.api+json; charset=UTF-8");
// mediaType == "application/vnd.api+json; charset=UTF-8"
// mediaType.Type == "application"
// mediaType.Tree == "vnd"
// mediaType.SubType == "api"
// mediaType.Suffix == "json"
// mediaType.Parameters["charset"] == "UTF-8"
```
---
### Extension Methods
The assembly also contains a number of public extension methods.
To use them reference namespace: `ByteDev.Http`.
HttpContent:
- IsFormUrlEncoded
- IsJson
- IsXml
- IsMediaType
- SafeReadAsStringAsync
HttpContentHeaders:
- AddOrUpdate
HttpRequestHeaders:
- AddAcceptJson
- AddAcceptXml
- AddOrUpdate
- AddUserAgent
HttpStatusCode:
- ToReadableString