diff options
| author | Dax Raad <[email protected]> | 2025-05-30 20:47:56 -0400 |
|---|---|---|
| committer | Dax Raad <[email protected]> | 2025-05-30 20:48:36 -0400 |
| commit | f3da73553c45f17e04b1e77cb13eb0fca714d1bd (patch) | |
| tree | a24317a19e1ab2a89da50db669dc6894f15d00d1 /pkg/client/event.go | |
| parent | 9a26b3058ffc1023e5c7e54b6d571c903d15888e (diff) | |
| download | opencode-f3da73553c45f17e04b1e77cb13eb0fca714d1bd.tar.gz opencode-f3da73553c45f17e04b1e77cb13eb0fca714d1bd.zip | |
sync
Diffstat (limited to 'pkg/client/event.go')
| -rw-r--r-- | pkg/client/event.go | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/pkg/client/event.go b/pkg/client/event.go deleted file mode 100644 index f5aab2d26..000000000 --- a/pkg/client/event.go +++ /dev/null @@ -1,53 +0,0 @@ -package client - -import ( - "bufio" - "context" - "encoding/json" - "net/http" - "strings" -) - -func (c *Client) Event(ctx context.Context) (<-chan any, error) { - events := make(chan any) - req, err := http.NewRequestWithContext(ctx, "GET", c.Server+"event", nil) - if err != nil { - return nil, err - } - - resp, err := http.DefaultClient.Do(req) - if err != nil { - return nil, err - } - - go func() { - defer close(events) - defer resp.Body.Close() - - scanner := bufio.NewScanner(resp.Body) - for scanner.Scan() { - line := scanner.Text() - if strings.HasPrefix(line, "data: ") { - data := strings.TrimPrefix(line, "data: ") - - var event Event - if err := json.Unmarshal([]byte(data), &event); err != nil { - continue - } - - val, err := event.ValueByDiscriminator() - if err != nil { - continue - } - - select { - case events <- val: - case <-ctx.Done(): - return - } - } - } - }() - - return events, nil -} |
