docs: public static RestServerEndpointConfiguration fromConfiguration(Configuration config) throws ConfigurationException {
  		Preconditions.checkNotNull(config);
  
  		final String restAddress = Preconditions.checkNotNull(config.getString(RestOptions.ADDRESS),
  			"%s must be set",
  			RestOptions.ADDRESS.key());
  
  		final String restBindAddress = config.getString(RestOptions.BIND_ADDRESS);
  		final String portRangeDefinition = config.getString(RestOptions.BIND_PORT);
  
  		final SSLHandlerFactory sslHandlerFactory;
  		if (SSLUtils.isRestSSLEnabled(config)) {
  			try {
  				sslHandlerFactory = SSLUtils.createRestServerSSLEngineFactory(config);
  			} catch (Exception e) {
  				throw new ConfigurationException("Failed to initialize SSLEngineFactory for REST server endpoint.", e);
  			}
  		} else {
  			sslHandlerFactory = null;
  		}
  
  		final Path uploadDir = Paths.get(
  			config.getString(WebOptions.UPLOAD_DIR,	config.getString(WebOptions.TMP_DIR)),
  			"flink-web-upload");
  
  		final int maxContentLength = config.getInteger(RestOptions.SERVER_MAX_CONTENT_LENGTH);
  
  		final Map<String, String> responseHeaders = Collections.singletonMap(
  			HttpHeaders.Names.ACCESS_CONTROL_ALLOW_ORIGIN,
  			config.getString(WebOptions.ACCESS_CONTROL_ALLOW_ORIGIN));
  
  		return new RestServerEndpointConfiguration(
  			restAddress,
  			restBindAddress,
  			portRangeDefinition,
  			sslHandlerFactory,
  			uploadDir,
  			maxContentLength,
  			responseHeaders);
  	}