public SwiftProxy(Properties properties, BlobStoreLocator locator, URI endpoint) { this.endpoint = requireNonNull(endpoint); rc = new BounceResourceConfig(properties, locator); if (logger.isDebugEnabled()) { rc.register(new LoggingFilter(java.util.logging.Logger.getGlobal(), false)); } server = GrizzlyHttpServerFactory.createHttpServer(endpoint, rc, false); server.getListeners().forEach(listener -> { listener.registerAddOn(new ContentLengthAddOn()); }); // allow HTTP DELETE to have payload for multi-object delete server.getServerConfiguration().setAllowPayloadForUndefinedHttpMethods(true); RuntimeDelegate.setInstance(new RuntimeDelegateImpl(RuntimeDelegate.getInstance())); }