• 简介

    简介

    有时候,我们可能会希望在远程过程调用中对通讯的一些细节有更多的控制,比如对传输中的数据进行加密、压缩、签名、跟踪、协议转换等等,但是又希望这些工作能够跟服务函数/方法本身可以解耦。这个时候,Hprose 过滤器就是一个不错的选择。

    Hprose 过滤器是一个接口,它有两个方法:

    1. type Filter interface {
    2. InputFilter(data []byte, context Context) []byte
    3. OutputFilter(data []byte, context Context) []byte
    4. }

    其中 InputFilter 的作用是对输入数据进行处理,OutputFilter 的作用是对输出数据进行处理。

    data 参数就是输入输出数据,返回值表示已经处理过的数据,如果你不打算对数据进行修改,你可以直接将 data 参数作为返回值返回。

    context 参数是调用的上下文对象,它用来在客户端或服务器端的整个调用流程中前后传递数据,有一点需要注意,客户端的 context 数据并不会传给服务器端的 context,客户端和服务器端的 context 是独立的。

    • 执行顺序
    • API 介绍
    • 跟踪调试
    • 压缩传输
    • 运行时间统计
    • 协议转换

    原文:

    https://github.com/hprose/hprose-golang/wiki/Hprose-%E8%BF%87%E6%BB%A4%E5%99%A8