func NewDecoder(r io.Reader, opts ...func(*Decoder)) *Decoder {
	d := &Decoder{
		r: r,
	}

	for _, opt := range opts {
		opt(d)
	}

	return d
}
// NewDecoder initializes and returns a Decoder for decoding event
// stream messages from the reader provided.
NewDecoder initializes and returns a Decoder for decoding event
stream messages from the reader provided.
// NewDecoder initializes and returns a Decoder for decoding event // stream messages from the reader provided .
func NewDecoder(r io.Reader, opts ...func(*Decoder)) *Decoder {
	d := &Decoder{
		r: r,
	}
	for _, opt := range opts {
		opt(d)
	}
	return d
}
func NewDecoder ( r io . Reader , opts ... func ( * Decoder ) ) * Decoder { d := & Decoder { r : r , } for _ , opt := range opts { opt ( d ) } return d }
NewDecoder initializes and returns a Decoder for decoding event
stream messages from the reader provided.
NewDecoder initializes and returns a Decoder for decoding event stream messages from the reader provided .