func ErrorRenderer(errFunc func(reqCtx context.Context, st *status.Status, response http.ResponseWriter)) HandlerOption {
	return func(h *handlerOpts) {
		h.errFunc = errFunc
	}
}
ErrorRenderer returns a HandlerOption that will cause the handler to use the
given function to render an error.  It is only used for unary RPCs since
streaming RPCs serialize a status message to the response trailer (in the
HTTP body) instead.

The function should call methods on response in order to write an error
response, including any response headers, the HTTP status code, and any
response body.

If no such option is used, the handler will use DefaultErrorRenderer.
package httpgrpc
import (
	"context"
	"encoding/base64"
	"errors"
	"fmt"
	"io"
	"io/ioutil"
	"net/http"
	"path"
	"strconv"
	"sync"
	"time"
	"google.golang.org/grpc"
	"google.golang.org/grpc/codes"
	"google.golang.org/grpc/credentials"
	"google.golang.org/grpc/encoding"
	"google.golang.org/grpc/metadata"
	"google.golang.org/grpc/peer"
	"google.golang.org/grpc/status"
	"github.com/fullstorydev/grpchan"
	"github.com/fullstorydev/grpchan/internal"
)
type Mux func(pattern string, handler func(http.ResponseWriter, *http.Request))
type HandlerOption func(*handlerOpts)
type handlerOpts struct {
	errFunc func(context.Context, *status.Status, http.ResponseWriter)
}