1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package com.atlassian.jira.rest.client.internal.async;
17
18 import com.atlassian.httpclient.api.HttpClient;
19 import com.atlassian.jira.rest.client.api.RestClientException;
20 import com.atlassian.jira.rest.client.api.SessionRestClient;
21 import com.atlassian.jira.rest.client.api.domain.Session;
22 import com.atlassian.jira.rest.client.internal.json.SessionJsonParser;
23 import com.atlassian.util.concurrent.Promise;
24
25 import javax.ws.rs.core.UriBuilder;
26 import java.net.URI;
27
28
29
30
31
32
33 public class AsynchronousSessionRestClient extends AbstractAsynchronousRestClient implements SessionRestClient {
34
35 private final SessionJsonParser sessionJsonParser = new SessionJsonParser();
36 private final URI serverUri;
37
38 public AsynchronousSessionRestClient(final URI serverUri, final HttpClient client) {
39 super(client);
40 this.serverUri = serverUri;
41 }
42
43 @Override
44 public Promise<Session> getCurrentSession() throws RestClientException {
45 return getAndParse(UriBuilder.fromUri(serverUri).path("rest/auth/latest/session").build(), sessionJsonParser);
46 }
47
48 }