jack-moseley commented on a change in pull request #2971:
URL: https://github.com/apache/incubator-gobblin/pull/2971#discussion_r416143398



##########
File path: 
gobblin-modules/gobblin-azkaban/src/main/java/org/apache/gobblin/service/modules/orchestration/AzkabanMultiCallables.java
##########
@@ -375,4 +375,44 @@ public AzkabanClientStatus call()
       }
     }
   }
+
+  /**
+   * A callable that will add a proxy user to a project on Azkaban
+   */
+  @Builder
+  static class addProxyUserCallable implements Callable<AzkabanClientStatus> {
+    private AzkabanClient client;
+    private String projectName;
+    private String proxyUserName;
+    private boolean invalidSession = false;
+
+    @Override
+    public AzkabanClientStatus call()
+        throws AzkabanClientException {
+      try (Closer closer = Closer.create()) {
+        client.refreshSession(this.invalidSession);
+        List<NameValuePair> nvps = new ArrayList<>();
+        nvps.add(new BasicNameValuePair(AzkabanClientParams.AJAX, 
"addProxyUser"));
+        nvps.add(new BasicNameValuePair(AzkabanClientParams.SESSION_ID, 
client.sessionId));
+        nvps.add(new BasicNameValuePair(AzkabanClientParams.PROJECT, 
projectName));
+        nvps.add(new BasicNameValuePair(AzkabanClientParams.NAME, 
proxyUserName));
+
+        Header contentType = new BasicHeader(HttpHeaders.CONTENT_TYPE, 
"application/x-www-form-urlencoded");
+        Header requestType = new BasicHeader("X-Requested-With", 
"XMLHttpRequest");
+
+        HttpGet httpGet = new HttpGet(client.url + "/manager?" + 
URLEncodedUtils.format(nvps, "UTF-8"));
+        httpGet.setHeaders(new Header[]{contentType, requestType});
+
+        CloseableHttpResponse response = client.httpClient.execute(httpGet);
+        closer.register(response);
+        client.handleResponse(response);

Review comment:
       I was just copying how the other methods did it, I'll change it at those 
places as well.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to