Dynamically operating data for Go. Aiming at reducing serialization/deserializtion process thus it can be fast as much as possible.
Dynamic-Go for Thrift protocol: introduction.md.
Dynamic-Go for Protobuf protocol: introduction.md
Thrift IDL parser and message operators. It can parse thrift IDL in runtime and handle thrift data in generic way.
Reflection APIs to search, modify, deserialize, serialize thrift value with or without runtime type descriptor.
The meta data about message transportation, including caller, address, log-id, etc. It is mainly used for conv
(protocol convertion) modules.
Built-in implementation of thrid-party annotations, see thrift_idl_annotation_standards. They are mainly used for conv
(protocol convertion) modules.
Protobuf IDL parser and message operators. It can parse protobuf IDL in runtime and handle protobuf data in generic way.
Reflection APIs to search, modify, deserialize, serialize protobuf value with or without runtime descriptor.
Protobuf data encode and decode APIs. It parses and formats the low-level raw wire encoding. It is modified from Protobuf official code encoding/protowire
.
BinaryProtocol tool for Protobuf Protocol. It can read, wirte and skip fields directly on binary data of protobuf message.
Http request/response wrapper interfaces. They are mainly used to pass http values on http<>thrift
conversion.
Protocol convertors. Based on reflecting ability of thrift
, json
and protobuf
modules, it can convert message from one protocol into another.
Convert JSON value or JSON-body HTTP request into thrift message.
Convert thrift message to JSON value or JSON-body HTTP response.
Convert JSON value into protobuf message.
Convert protobuf message into JSON value.