mirror of
https://github.com/owncloud/ocis
synced 2026-04-25 17:25:21 +02:00
Bumps [github.com/shamaton/msgpack/v2](https://github.com/shamaton/msgpack) from 2.3.0 to 2.3.1. - [Release notes](https://github.com/shamaton/msgpack/releases) - [Commits](https://github.com/shamaton/msgpack/compare/v2.3.0...v2.3.1) --- updated-dependencies: - dependency-name: github.com/shamaton/msgpack/v2 dependency-version: 2.3.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
MessagePack for Golang
Features
- Supported types : primitive / array / slice / struct / map / interface{} and time.Time
- Renaming fields via
msgpack:"field_name" - Omitting fields via
msgpack:"-" - Omitting empty fields via
msgpack:"field_name,omitempty" - Supports extend encoder / decoder (example)
- Can also Encoding / Decoding struct as array
Installation
Current version is msgpack/v2.
go get -u github.com/shamaton/msgpack/v2
Quick Start
package main
import (
"github.com/shamaton/msgpack/v2"
"net/http"
)
type Struct struct {
String string
}
// simple
func main() {
v := Struct{String: "msgpack"}
d, err := msgpack.Marshal(v)
if err != nil {
panic(err)
}
r := Struct{}
if err = msgpack.Unmarshal(d, &r); err != nil {
panic(err)
}
}
// streaming
func handle(w http.ResponseWriter, r *http.Request) {
var body Struct
if err := msgpack.UnmarshalRead(r, &body); err != nil {
panic(err)
}
if err := msgpack.MarshalWrite(w, body); err != nil {
panic(err)
}
}
Benchmark
This result made from shamaton/msgpack_bench
License
This library is under the MIT License.