func (crw *customResponseWriter) WriteHeader(code int) {
	if crw.headerWritten {
		return
	}
	crw.headerWritten = true
	crw.statusCode = code
	crw.ResponseWriter.WriteHeader(code)
}
WriteHeader is the interface implementation to get HTTP response code and add
it to the custom response writer
package webgo
import (
	"bufio"
	"context"
	"errors"
	"fmt"
	"net"
	"net/http"
	"sync"
)
const (
	urlchars                  = `([^/]+)`
	urlwildcard               = `(.*)[^/]`
	urlwildcardWithTrailslash = `(.*)[/]?`
	trailingSlash             = `[/]?`
	errDuplicateKey           = `Error: Duplicate URI keys found`
)
var (
	validHTTPMethods = []string{
		http.MethodOptions,
		http.MethodHead,
		http.MethodGet,
		http.MethodPost,
		http.MethodPut,
		http.MethodPatch,
		http.MethodDelete,
	}
	ctxPool = &sync.Pool{
		New: func() interface{} {
			return new(ContextPayload)
		},
	}
	crwPool = &sync.Pool{
		New: func() interface{} {
			return new(customResponseWriter)
		},
	}
)
type customResponseWriter struct {
	http.ResponseWriter
	statusCode    int
	written       bool
	headerWritten bool
}