code: func drainBody(body io.ReadCloser) ([]byte, io.ReadCloser, error) {
  	bufReader := bufio.NewReaderSize(body, maxBodySize)
  	newBody := ioutils.NewReadCloserWrapper(bufReader, func() error { return body.Close() })
  
  	data, err := bufReader.Peek(maxBodySize)
  	// Body size exceeds max body size
  	if err == nil {
  		logrus.Warnf("Request body is larger than: '%d' skipping body", maxBodySize)
  		return nil, newBody, nil
  	}
  	// Body size is less than maximum size
  	if err == io.EOF {
  		return data, newBody, nil
  	}
  	// Unknown error
  	return nil, newBody, err
  }
docs: // drainBody dump the body (if its length is less than 1MB) without modifying the request state