func (r rawUnaryHandler) Handle(ctx context.Context, treq *transport.Request, rw transport.ResponseWriter) error { if err := encoding.Expect(treq, Encoding); err != nil { return err } reqBody, err := ioutil.ReadAll(treq.Body) if err != nil { return err } reqMeta := meta.FromTransportRequest(treq) resBody, resMeta, err := r.UnaryHandler(ctx, reqMeta, reqBody) if err != nil { return err } if resMeta != nil { meta.ToTransportResponseWriter(resMeta, rw) } if _, err := rw.Write(resBody); err != nil { return err } return nil }