MCPcopy
hub / github.com/nats-io/nats.go / purgeStream

Method purgeStream

jsm.go:1492–1524  ·  view source on GitHub ↗
(stream string, req *StreamPurgeRequest, opts ...JSOpt)

Source from the content-addressed store, hash-verified

1490}
1491
1492func (js *js) purgeStream(stream string, req *StreamPurgeRequest, opts ...JSOpt) error {
1493 o, cancel, err := getJSContextOpts(js.opts, opts...)
1494 if err != nil {
1495 return err
1496 }
1497 if cancel != nil {
1498 defer cancel()
1499 }
1500
1501 var b []byte
1502 if req != nil {
1503 if b, err = json.Marshal(req); err != nil {
1504 return err
1505 }
1506 }
1507
1508 psSubj := js.apiSubj(fmt.Sprintf(apiStreamPurgeT, stream))
1509 r, err := js.apiRequestWithContext(o.ctx, psSubj, b)
1510 if err != nil {
1511 return err
1512 }
1513 var resp streamPurgeResponse
1514 if err := json.Unmarshal(r.Data, &resp); err != nil {
1515 return err
1516 }
1517 if resp.Error != nil {
1518 if errors.Is(resp.Error, ErrBadRequest) {
1519 return fmt.Errorf("%w: %s", ErrBadRequest, "invalid purge request body")
1520 }
1521 return resp.Error
1522 }
1523 return nil
1524}
1525
1526// streamLister fetches pages of StreamInfo objects. This object is not safe
1527// to use for multiple threads.

Callers 5

PurgeStreamMethod · 0.95
PurgeDeletesMethod · 0.80
PutMethod · 0.80
DeleteMethod · 0.80
UpdateMetaMethod · 0.80

Calls 5

apiSubjMethod · 0.95
apiRequestWithContextMethod · 0.95
getJSContextOptsFunction · 0.85
ErrorfMethod · 0.80
IsMethod · 0.45

Tested by

no test coverage detected