func WithMesosStreamId(id string) RequestOpt {
	return WithHeader(MESOS_STREAM_ID_HEADER, id)
}
Set mesos stream id request header
package client
import (
	"context"
	"io"
	"net/http"
	"github.com/gogo/protobuf/proto"
)
const MESOS_STREAM_ID_HEADER = "Mesos-Stream-Id"
type (
	Provider interface {
		New(endpoint string, opts ...DefaultClientOpt) Client
	}
	ProviderFunc func(endpoint string, opts ...DefaultClientOpt) Client
	Response interface {
		Read(m proto.Message) error
		StreamId() string
		io.Closer
	}
	DoFunc func(proto.Message, context.Context, ...RequestOpt) (resp Response, err error)
	Client interface {
		Do(proto.Message, context.Context, ...RequestOpt) (resp Response, err error)
	}
)
func (cf DoFunc) Do(m proto.Message, ctx context.Context, opts ...RequestOpt) (Response, error) {
	return cf(m, ctx, opts...)
}
type RequestOpt func(*http.Request)
type RequestOpts []RequestOpt
func (opts RequestOpts) Apply(req *http.Request) {
	for _, o := range opts {
		if o != nil {
			o(req)
		}
	}
}