MCPcopy Index your code
hub / github.com/segmentio/encoding / encodeRawMessage

Method encodeRawMessage

json/encode.go:827–853  ·  view source on GitHub ↗
(b []byte, p unsafe.Pointer)

Source from the content-addressed store, hash-verified

825}
826
827func (e encoder) encodeRawMessage(b []byte, p unsafe.Pointer) ([]byte, error) {
828 v := *(*RawMessage)(p)
829
830 if v == nil {
831 return append(b, "null"...), nil
832 }
833
834 var s []byte
835
836 if (e.flags & TrustRawMessage) != 0 {
837 s = v
838 } else {
839 var err error
840 v = skipSpaces(v) // don't assume that a RawMessage starts with a token.
841 d := decoder{}
842 s, _, _, err = d.parseValue(v)
843 if err != nil {
844 return b, &UnsupportedValueError{Value: reflect.ValueOf(v), Str: err.Error()}
845 }
846 }
847
848 if (e.flags & EscapeHTML) != 0 {
849 return appendCompactEscapeHTML(b, s), nil
850 }
851
852 return append(b, s...), nil
853}
854
855func (e encoder) encodeJSONMarshaler(b []byte, p unsafe.Pointer, t reflect.Type, pointer bool) ([]byte, error) {
856 v := reflect.NewAt(t, p)

Callers 1

Calls 4

parseValueMethod · 0.95
skipSpacesFunction · 0.85
appendCompactEscapeHTMLFunction · 0.85
ErrorMethod · 0.45

Tested by

no test coverage detected