Invocation Context¶
The Backendless container which hosts and runs the services code provides a special object for every method invocation. The object is an instance of the com.backendless.servercode.InvocationContext class and provides access to the following data:
-
Application ID - id of the application in which context the method is invoked.
String applicationId = InvocationContext.getAppId();
-
User ID -
objectId
of the currently logged in user whose identity is used to invoke the method. A value for this parameter is not present if there is no logged in user (or if theuser-token
header is not passed for the REST invocations).String userObjectId = InvocationContext.getUserId();
-
User token - value of the
user-token
header sent by the client application when invoking the service.String userToken = InvocationContext.getUserToken();
-
User roles - an array of the role names of the logged-in user (if any) who made the API call.
InvocationContext.getUserId();
-
Device type - the type of the device which initiated the method invocation.
DeviceType deviceType = InvocationContext.getUserId(); // get device type corresponding to the API Key. Possible values are: // "IOS", "ANDROID", "JS", "REST", "BL" (business logic) String deviceTypeName = deviceType.name(); // get role name corresponding to the API key. Possible values are: // "IOSUser", "AndroidUser", "JSUser", "RestUser", "ServerCodeUser" String deviceTypeRoleName = deviceType.getRoleName();
-
HTTP headers - HTTP headers sent by the client application when invoking the service.
Map<String, String> httpHeaders = InvocationContext.getHttpHeaders();