(payload any)
| 646 | } |
| 647 | |
| 648 | func (i *StreamingInterception) marshal(payload any) ([]byte, error) { |
| 649 | data, err := json.Marshal(payload) |
| 650 | if err != nil { |
| 651 | return nil, xerrors.Errorf("marshal payload: %w", err) |
| 652 | } |
| 653 | |
| 654 | var parsed map[string]any |
| 655 | if err := json.Unmarshal(data, &parsed); err != nil { |
| 656 | return nil, xerrors.Errorf("unmarshal payload: %w", err) |
| 657 | } |
| 658 | |
| 659 | eventType, ok := parsed["type"].(string) |
| 660 | if !ok || strings.TrimSpace(eventType) == "" { |
| 661 | return nil, xerrors.Errorf("could not determine type from payload %q", data) |
| 662 | } |
| 663 | |
| 664 | return i.encodeForStream(data, eventType), nil |
| 665 | } |
| 666 | |
| 667 | // https://docs.anthropic.com/en/docs/build-with-claude/streaming#basic-streaming-request |
| 668 | func (i *StreamingInterception) pingPayload() []byte { |
no test coverage detected