MCPcopy Create free account
hub / github.com/coder/wush / writeMapResponse

Function writeMapResponse

tsserver/server.go:572–594  ·  view source on GitHub ↗
(w http.ResponseWriter, req *tailcfg.MapRequest, res *tailcfg.MapResponse)

Source from the content-addressed store, hash-verified

570}
571
572func writeMapResponse(w http.ResponseWriter, req *tailcfg.MapRequest, res *tailcfg.MapResponse) error {
573 jsonBody, err := json.Marshal(res)
574 if err != nil {
575 return fmt.Errorf("marshal map response: %w", err)
576 }
577
578 var respBody []byte
579 if req.Compress == "zstd" {
580 respBody = zstdEncode(jsonBody)
581 } else {
582 respBody = jsonBody
583 }
584
585 data := make([]byte, 4)
586 binary.LittleEndian.PutUint32(data, uint32(len(respBody)))
587 data = append(data, respBody...)
588
589 _, err = w.Write(data)
590 if err != nil {
591 return fmt.Errorf("write map response: %w", err)
592 }
593 return nil
594}
595
596func zstdEncode(in []byte) []byte {
597 encoder, ok := zstdEncoderPool.Get().(*zstd.Encoder)

Callers 1

handleStreamingMethod · 0.85

Calls 2

zstdEncodeFunction · 0.85
WriteMethod · 0.45

Tested by

no test coverage detected