func (dc *TransactCall) RespondWith(er ExpectedResponse) *TransactCall {
	var response *http.Response
	if er.Err == nil {
		response = NewResponse(er.StatusCode, er.Body)
		for key, values := range er.Header {
			response.Header[key] = values
		}
	}
	return dc.Respond(response, er.Err)
}
RespondWith creates an (*http.Response, error) tuple from an ExpectedResponse.  If the Err field is nil,
an *http.Response is created from the other fields.  If the Err field is not nil, a nil *http.Response is used.
package xhttptest
import (
	"bytes"
	"context"
	"fmt"
	"io/ioutil"
	"net/http"
	"net/textproto"
	"net/url"
	"strings"
	"github.com/stretchr/testify/mock"
)
type ExpectedResponse struct {
	StatusCode int
	Body       []byte
	Header     http.Header
	Err        error
}
type TransactCall struct {
	*mock.Call
}