package demo import ( "context" omnierrors "git.yuntuo.hk/k2safe/go-omni/errors" "git.yuntuo.hk/k2safe/go-omni/httpx" "io" "strings" ) func (l *Logic) Callback(ctx context.Context, body *httpx.Body) (*httpx.Stream, error) { // The route's 64-byte limit bounds this example's memory use. A real signature // implementation can hash body.Raw incrementally and authenticate its headers. data, err := io.ReadAll(body.Raw) if err != nil { return nil, err } if body.Header.Get("X-Signature") != "valid" { return nil, omnierrors.ByCode("INVALID") } return &httpx.Stream{Content: io.NopCloser(strings.NewReader("ACK:" + string(data)))}, nil }