if (id == null || id.isEmpty() || connector == null) {
throw new IllegalArgumentException("A push subscription ID and output parameters is required");
}
FutureData<PushSubscription> future = new FutureData<>();
URI uri = newParams().forURL(config.newAPIEndpointURI(UPDATE));
POST request = config.http()
.POST(uri, new PageReader(newRequestCallback(future, new PushSubscription(), config)))
.form("id", id);
for (Map.Entry<String, String> e : connector.parameters().verifyAndGet().entrySet()) {
request.form(e.getKey(), e.getValue());
}
if (name != null && !name.isEmpty()) {
request.form("name", name);
}
applyConfig(request).execute();
return future;
}