code: @Override
  	public byte[] getBody() {
  		if (this.cachedBody == null || this.cachedBody.length == 0) {
  			try {
  				if (this.request instanceof MockHttpServletRequest) {
  					this.cachedBody = ((MockHttpServletRequest) this.request)
  							.getContentAsByteArray();
  					return this.cachedBody;
  				}
  				byte[] body = toByteArray(this.request.getInputStream());
  				boolean isGzipped = hasGzipEncoding() || Gzip.isGzipped(body);
  				this.cachedBody = isGzipped ? Gzip.unGzip(body) : body;
  			}
  			catch (IOException ioe) {
  				throw new RuntimeException(ioe);
  			}
  		}
  		return this.cachedBody;
  	}
docs: Something's wrong with reading the body from request