{"id":23721213,"url":"https://github.com/byndyusoft/byndyusoft.net.http.messagepack","last_synced_at":"2026-02-02T05:02:02.978Z","repository":{"id":43081994,"uuid":"316002051","full_name":"Byndyusoft/Byndyusoft.Net.Http.MessagePack","owner":"Byndyusoft","description":"Provides extension methods for System.Net.Http.HttpClient and System.Net.Http.HttpContent that perform automatic serialization and deserialization using MessagePack.","archived":false,"fork":false,"pushed_at":"2025-12-17T20:38:09.000Z","size":89,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-12-21T08:34:45.664Z","etag":null,"topics":["aspnet","byndyusoft","http","messagepack"],"latest_commit_sha":null,"homepage":"https://en.byndyusoft.com","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Byndyusoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-11-25T16:57:42.000Z","updated_at":"2025-12-17T20:38:14.000Z","dependencies_parsed_at":"2024-11-13T13:36:22.988Z","dependency_job_id":"8e1ebf00-139e-430a-bcb6-2d6672ec862a","html_url":"https://github.com/Byndyusoft/Byndyusoft.Net.Http.MessagePack","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/Byndyusoft/Byndyusoft.Net.Http.MessagePack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Byndyusoft%2FByndyusoft.Net.Http.MessagePack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Byndyusoft%2FByndyusoft.Net.Http.MessagePack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Byndyusoft%2FByndyusoft.Net.Http.MessagePack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Byndyusoft%2FByndyusoft.Net.Http.MessagePack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Byndyusoft","download_url":"https://codeload.github.com/Byndyusoft/Byndyusoft.Net.Http.MessagePack/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Byndyusoft%2FByndyusoft.Net.Http.MessagePack/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29006081,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-02T04:25:24.522Z","status":"ssl_error","status_checked_at":"2026-02-02T04:24:51.069Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aspnet","byndyusoft","http","messagepack"],"created_at":"2024-12-30T22:18:11.585Z","updated_at":"2026-02-02T05:02:02.949Z","avatar_url":"https://github.com/Byndyusoft.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"[MessagePack](https://www.nuget.org/packages/MessagePack/) is an efficient binary serialization format. It lets you exchange data among multiple languages like JSON. But it's faster and smaller. \nSmall integers are encoded into a single byte, and typical short strings require only one extra byte in addition to the strings themselves.\n\n## Byndyusoft.Net.Http.MessagePack\n[![(License)](https://img.shields.io/github/license/Byndyusoft/Byndyusoft.Net.Http.MessagePack.svg)](LICENSE.txt)\n[![Nuget](http://img.shields.io/nuget/v/Byndyusoft.Net.Http.MessagePack.svg?maxAge=10800)](https://www.nuget.org/packages/Byndyusoft.Net.Http.MessagePack/) [![NuGet downloads](https://img.shields.io/nuget/dt/Byndyusoft.Net.Http.MessagePack.svg)](https://www.nuget.org/packages/Byndyusoft.Net.Http.MessagePack/) \n\nProvides extension methods for System.Net.Http.HttpClient and System.Net.Http.HttpContent that perform automatic serialization and deserialization using MessagePack.\n\nThis package actually depends on ```Microsoft.Net.Http```, and extends the ```HttpClient``` with ```MessagePack```\nfeatures that you would likely need to talk to a RESTful service such as ASP.NET Web API.\nPackage operates in the ```System.Net.Http``` namespace and adds some handy extension methods to ```HttpClient``` and ```HttpContent```.\n\nSo for example:\n\n```csharp\nusing (var client = new HttpClient())\n{\n    var product = await client.GetFromMessagePackAsync\u003cProduct\u003e(\"http://localhost/api/products/1\");\n}\n```\nor\n```csharp\nusing (var client = new HttpClient())\n{\n    var response = await _client.GetAsync(\"http://localhost/api/products/1\");\n    response.EnsureSuccessStatusCode();\n    var product = await response.Content.ReadFromMessagePackAsync\u003cProduct\u003e();\n}\n```\nor\n```csharp\nusing (var client = new HttpClient())\n{\n    var request = new HttpRequestMessage(HttpMethod.Post, \"http://localhost/api/products/1\");\n    request.Content = MessagePackContent.Create(new Product());\n    var response = await _client.SendAsync(request);\n    response.EnsureSuccessStatusCode();\n}\n```\n\nIf you tried to just use ```Microsoft.Net.Http```, the ```GetFromMessagePackAsync``` method wouldn't be available to you, and you'd only be able to read the content \nas raw data such as bytes or string, and have to do the serializing / de-serializing yourself.\n\nYou also get extension methods to PUT / POST back to the service in ```MessagePack``` format without having to do that yourself:\n\n```csharp\nawait client.PutAsMessagePackAsync(\"http://localhost/api/products/1\", product);\nawait client.PostAsMessagePackAsync(\"http://localhost/api/products/1\", product);\n```\n\nThis package also adds `MessagePackMediaTypeFormatter` class for formatting `HttpClient` requests and responses:\n\n```csharp\nusing (var client = new HttpClient())\n{\n\tvar formatter = new MessagePackMediaTypeFormatter();\n\tvar request = new SearchProductRequest { Name = 'iphone', OrderBy = 'id' };\n\tvar content = new ObjectContent\u003cSearchProductRequest\u003e(request, formatter);\n\tvar response = await client.PostAsync(\"http://localhost/api/products:search\", content);\n\tvar products = await response.Content.ReadAsAsync\u003cProduct[]\u003e(new[] {formatter});\n}\n```\n\n### Installing\n\n```shell\ndotnet add package Byndyusoft.Net.Http.MessagePack\n```\n\n***\n\n# Contributing\n\nTo contribute, you will need to setup your local environment, see [prerequisites](#prerequisites). For the contribution and workflow guide, see [package development lifecycle](#package-development-lifecycle).\n\nA detailed overview on how to contribute can be found in the [contributing guide](CONTRIBUTING.md).\n\n## Prerequisites\n\nMake sure you have installed all of the following prerequisites on your development machine:\n\n- Git - [Download \u0026 Install Git](https://git-scm.com/downloads). OSX and Linux machines typically have this already installed.\n- .NET (version 8.0 or higher) - [Download \u0026 Install .NET](https://dotnet.microsoft.com/en-us/download/dotnet/8.0).\n\n## General folders layout\n\n### src\n- source code\n\n### tests\n\n- unit-tests\n\n## Package development lifecycle\n\n- Implement package logic in `src`\n- Add or addapt unit-tests (prefer before and simultaneously with coding) in `tests`\n- Add or change the documentation as needed\n- Open pull request in the correct branch. Target the project's `master` branch\n\n# Maintainers\n\n[github.maintain@byndyusoft.com](mailto:github.maintain@byndyusoft.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbyndyusoft%2Fbyndyusoft.net.http.messagepack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbyndyusoft%2Fbyndyusoft.net.http.messagepack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbyndyusoft%2Fbyndyusoft.net.http.messagepack/lists"}