code: func NewRequestContextFilter(mapper RequestContextMapper, handler http.Handler) (http.Handler, error) {
  	if mapper, ok := mapper.(*requestContextMap); ok {
  		return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
  			if mapper.init(req, NewContext()) {
  				// If we were the ones to successfully initialize, pair with a remove
  				defer mapper.remove(req)
  			}
  			handler.ServeHTTP(w, req)
  		}), nil
  	} else {
  		return handler, errors.New("Unknown RequestContextMapper implementation.")
  	}
  
  }
docs: // NewRequestContextFilter ensures there is a Context object associated with the request before calling the passed handler.
  // After the passed handler runs, the context is cleaned up.