Ejemplo n.º 1
0
  private void respondGetObjectAndClose(HttpExchange exchange, StoredObject storedObject)
      throws IOException {
    byte[] response = storedObject.getContent();

    addHeader(exchange, "ETag", "\"" + storedObject.md5HexString() + "\"");
    addHeader(exchange, HttpHeaders.CONTENT_TYPE, "text/plain");
    respondAndClose(exchange, HttpURLConnection.HTTP_OK, response);
  }
Ejemplo n.º 2
0
  private void handlePutObject(HttpExchange exchange, String bucketName, String keyName)
      throws IOException {
    if (DOUBLE_DOT_PATTERN.matcher(keyName).matches()) {
      respondErrorAndClose(exchange, ErrorResponse.INVALID_URI);
      return;
    }

    byte[] content = readRequestBodyFully(exchange);

    if (buckets.containsKey(bucketName)) {
      Bucket bucket = buckets.get(bucketName);
      StoredObject storedObject = new StoredObject(keyName, content);
      bucket.put(keyName, storedObject);
      addHeader(exchange, HttpHeaders.E_TAG, "\"" + storedObject.md5HexString() + "\"");
      respondAndClose(exchange, HttpURLConnection.HTTP_OK);
    } else {
      respondErrorAndClose(exchange, ErrorResponse.NO_SUCH_BUCKET);
    }
  }