PutResponse makePutResponse(PutRequest putRequest, ServerErrorCode putError) throws IOException {
    if (putError == ServerErrorCode.NoError) {
      updateBlobMap(putRequest);
    } else {
      // we have to read the put request out so that the blob in put request can be released.
      new StoredBlob(putRequest, clusterMap);
    }
    return new PutResponse(putRequest.getCorrelationId(), putRequest.getClientId(), putError);
  }
Make a {@link PutResponse} for the given {@link PutRequest} for which the given {@link ServerErrorCode} was
encountered.
@param putRequest the {@link PutRequest} for which the response is being constructed.
@param putError the {@link ServerErrorCode} that was encountered.
@return the created {@link PutResponse}
@throws IOException if there was an error constructing the response.
ambry-router/src/test/java/com/github/ambry/router/MockServer.java