Package com.jalios.rest.client
Class ClientSession
- java.lang.Object
-
- com.jalios.rest.client.ClientSession
-
- All Implemented Interfaces:
JcmsRestConstants
public class ClientSession extends java.lang.Object implements JcmsRestConstants
Represents a HTTP client session for calling JCMS through its REST Open API.- Since:
- JCMS-6.0
- Author:
- dissert
-
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_MAX_REDIRECTstatic intNOFOLLOWREDIRECT_MAX_REDIRECTstatic java.lang.StringREVISION-
Fields inherited from interface com.jalios.rest.client.JcmsRestConstants
CSRF_HEADER_NAME, HTTP_HEADERS, METHOD_OVERRIDE_HTTP_HEADER, UTS_ADMIN, UTS_CACHES, UTS_DATA_CHILDREN, UTS_DATA_PARAM, UTS_DATATYPE_ITEM, UTS_DATATYPE_LIST, UTS_JSYNC, UTS_JSYNC_REPLICA, UTS_LUCENE, UTS_LUCENE_CATEGORIES, UTS_LUCENE_PUBLICATIONS, UTS_MEMBER_ITEM, UTS_MEMBER_PHOTO_UPDATE, UTS_PRIVATE_RESOURCE, UTS_SEARCH, UTS_WHOAMI_ITEM, UTS_WORKFLOWS, UTS_WORKFLOWS_ITEM
-
-
Constructor Summary
Constructors Constructor Description ClientSession(java.lang.String baseUrl)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RestQuerycreateQuery(java.lang.String resourcePath)RestQuerycreateQuery(org.restlet.data.Reference reference)JcmsResourcefindResource(org.restlet.data.Reference resourceRef)java.lang.StringgetBaseUrl()org.restlet.ClientgetClient()Retrieve the underlying Restlet Client instance used for remote communication.org.restlet.data.ReferencegetCreatedDataRef(JcmsResource response)When a data is created (while using createData), the URI of the new data is given in the HTTP response header "Location".org.restlet.data.MediaTypegetDefaultMediaType()org.restlet.data.RequestgetFormMultipartRequest(org.restlet.data.Reference reference, java.util.List<MultipartParameter> multipartContent)Create a Request with Content-Type form-multipart and entity body compliant to form-multipart specification, with content in the Map multipartContent.JcmsResourcegetJcmsResource(java.lang.String resourcePath, Authentication forcedAuthentication)JcmsResourcegetJcmsResource(org.restlet.data.Reference resourceRef, Authentication forcedAuthentication)org.restlet.data.ReferencegetReference(java.lang.String uriRelativePath)org.restlet.data.RequestgetRequest(org.restlet.data.Reference reference, org.restlet.data.Method method)java.lang.StringgetUserAgent()AuthenticationremoveAuthentication()Removes and returns the current authentication (null if none was added).org.restlet.data.ResponsesendRequest(org.restlet.data.Reference reference, org.restlet.data.Method method, Authentication forcedAuthentication)org.restlet.data.ResponsesendRequest(org.restlet.data.Request request, Authentication forcedAuthentication)org.restlet.data.ResponsesendRequest(org.restlet.data.Request request, org.restlet.data.MediaType[] mediaTypes, Authentication forcedAuthentication)org.restlet.data.ResponsesendRequest(org.restlet.data.Request request, org.restlet.data.MediaType[] mediaTypes, Authentication forcedAuthentication, boolean noFollowRedirect)org.restlet.data.ResponsesendRequest(org.restlet.data.Request request, org.restlet.data.MediaType[] mediaTypes, Authentication forcedAuthentication, int maxRedirect)In the context of a client session (same cookies, same authentication), send request to the server, including authentication and managing cookies.org.restlet.data.ResponsesendRequest(org.restlet.data.Request request, org.restlet.data.MediaType mediaType, Authentication forcedAuthentication)org.restlet.data.ResponsesendRequest(org.restlet.data.Request request, org.restlet.data.MediaType mediaType, Authentication forcedAuthentication, boolean noFollowRedirect)org.restlet.data.ResponsesendRequest(org.restlet.data.Request request, org.restlet.data.MediaType mediaType, Authentication forcedAuthentication, int maxRedirect)voidsetAcceptLanguage(java.lang.String acceptLanguage)voidsetAuthentication(Authentication authentication)Add an authentication to the sessionvoidsetCookies(org.restlet.data.Request request)Cookies management : set cookies relative to the current client in the given request.voidsetDefaultMediaType(org.restlet.data.MediaType defaultMediaType)Modify the default media type manipulated in this sessionvoidsetUserAgent(java.lang.String userAgent)voidstoreCookies(org.restlet.util.Series<org.restlet.data.CookieSetting> cookiesSettings)Cookies management : store cookies relative to the current client.
-
-
-
Field Detail
-
REVISION
public static final java.lang.String REVISION
- See Also:
- Constant Field Values
-
DEFAULT_MAX_REDIRECT
public static int DEFAULT_MAX_REDIRECT
-
NOFOLLOWREDIRECT_MAX_REDIRECT
public static int NOFOLLOWREDIRECT_MAX_REDIRECT
-
-
Method Detail
-
getClient
public org.restlet.Client getClient()
Retrieve the underlying Restlet Client instance used for remote communication. Modify with care.- Returns:
- the underlying Client instance, never return null
- Since:
- JCMS-2334
-
getDefaultMediaType
public org.restlet.data.MediaType getDefaultMediaType()
- Returns:
- the default media type manipulated in this session.
-
setDefaultMediaType
public void setDefaultMediaType(org.restlet.data.MediaType defaultMediaType)
Modify the default media type manipulated in this session- Parameters:
defaultMediaType-
-
setAuthentication
public void setAuthentication(Authentication authentication)
Add an authentication to the session- Parameters:
authentication- the authentication to be added
-
removeAuthentication
public Authentication removeAuthentication()
Removes and returns the current authentication (null if none was added). Important : also remove any cookies that may have been set or retrieved in a previous request of this client session.- Returns:
- the current authentication
-
storeCookies
public void storeCookies(org.restlet.util.Series<org.restlet.data.CookieSetting> cookiesSettings)
Cookies management : store cookies relative to the current client. Differienciation between session and stored cookies is done with the cookie max age.- Parameters:
cookiesSettings-
-
setCookies
public void setCookies(org.restlet.data.Request request)
Cookies management : set cookies relative to the current client in the given request.- Parameters:
request-
-
getReference
public org.restlet.data.Reference getReference(java.lang.String uriRelativePath)
- Parameters:
uriRelativePath- The uriRelativePath as given genericaly in OpenAPI, without the context path and the "rest" prefix- Returns:
- the Reference corresponding to the complete uri with the context path and the "rest" prefix.
-
setAcceptLanguage
public void setAcceptLanguage(java.lang.String acceptLanguage)
-
sendRequest
public org.restlet.data.Response sendRequest(org.restlet.data.Request request, org.restlet.data.MediaType[] mediaTypes, Authentication forcedAuthentication, int maxRedirect)In the context of a client session (same cookies, same authentication), send request to the server, including authentication and managing cookies.- Parameters:
request- the request to send (without authentication and cookies)mediaTypes- accepted media type.forcedAuthentication- the authentication for this request onlymaxRedirect- the number of maximum redirection made if -1, redirect is not followed- Returns:
- The final response (after redirection)
-
sendRequest
public org.restlet.data.Response sendRequest(org.restlet.data.Request request, org.restlet.data.MediaType mediaType, Authentication forcedAuthentication, int maxRedirect)
-
sendRequest
public org.restlet.data.Response sendRequest(org.restlet.data.Request request, org.restlet.data.MediaType[] mediaTypes, Authentication forcedAuthentication)
-
sendRequest
public org.restlet.data.Response sendRequest(org.restlet.data.Request request, org.restlet.data.MediaType mediaType, Authentication forcedAuthentication)
-
sendRequest
public org.restlet.data.Response sendRequest(org.restlet.data.Request request, Authentication forcedAuthentication)
-
sendRequest
public org.restlet.data.Response sendRequest(org.restlet.data.Reference reference, org.restlet.data.Method method, Authentication forcedAuthentication)
-
sendRequest
public org.restlet.data.Response sendRequest(org.restlet.data.Request request, org.restlet.data.MediaType[] mediaTypes, Authentication forcedAuthentication, boolean noFollowRedirect)
-
sendRequest
public org.restlet.data.Response sendRequest(org.restlet.data.Request request, org.restlet.data.MediaType mediaType, Authentication forcedAuthentication, boolean noFollowRedirect)
-
getRequest
public org.restlet.data.Request getRequest(org.restlet.data.Reference reference, org.restlet.data.Method method)
-
getFormMultipartRequest
public org.restlet.data.Request getFormMultipartRequest(org.restlet.data.Reference reference, java.util.List<MultipartParameter> multipartContent)Create a Request with Content-Type form-multipart and entity body compliant to form-multipart specification, with content in the Map multipartContent. Values may be String or File.- Parameters:
reference- The reference of the requestmultipartContent- the content of the form-multipart entity body- Returns:
- the Restlet request
-
getBaseUrl
public java.lang.String getBaseUrl()
-
findResource
public JcmsResource findResource(org.restlet.data.Reference resourceRef)
-
getJcmsResource
public JcmsResource getJcmsResource(java.lang.String resourcePath, Authentication forcedAuthentication) throws RestException
- Throws:
RestException
-
getJcmsResource
public JcmsResource getJcmsResource(org.restlet.data.Reference resourceRef, Authentication forcedAuthentication) throws RestException
- Throws:
RestException
-
createQuery
public RestQuery createQuery(java.lang.String resourcePath)
-
createQuery
public RestQuery createQuery(org.restlet.data.Reference reference)
-
getCreatedDataRef
public org.restlet.data.Reference getCreatedDataRef(JcmsResource response)
When a data is created (while using createData), the URI of the new data is given in the HTTP response header "Location". This method returns the given URI encapsulated in a Reference.- Parameters:
response- the response of the the createData request- Returns:
- the URI of the new data.
-
getUserAgent
public java.lang.String getUserAgent()
-
setUserAgent
public void setUserAgent(java.lang.String userAgent)
-
-