func()

in internal/conn/http/http.go [208:234]


func (c *Client) Send(ctx context.Context, event []byte, headers []string) error {
	if c.fakeSender != nil {
		return c.fakeSender.Send(ctx, event)
	}
	if len(headers)%2 != 0 {
		return fmt.Errorf("headers must be key-value pairs")
	}

	read := readerPool.Get().(*bytes.Reader)
	read.Reset(event)
	defer readerPool.Put(read)

	req, err := c.setup(ctx, read, headers)
	if err != nil {
		return err
	}

	// Send the event to the ARN service.
	resp, err := c.client.Pipeline().Do(req)
	if err != nil {
		return err
	}
	if resp.StatusCode != http.StatusOK {
		return fmt.Errorf("unexpected status code: %d", resp.StatusCode)
	}
	return nil
}