Class WebPubSubServiceAsyncClient

java.lang.Object
com.azure.messaging.webpubsub.WebPubSubServiceAsyncClient

public final class WebPubSubServiceAsyncClient extends Object
Initializes a new instance of the asynchronous AzureWebPubSubServiceRestAPI type.
  • Method Details

    • getClientAccessToken

      public Mono<WebPubSubClientAccessToken> getClientAccessToken(GetClientAccessTokenOptions options)
      Creates a client access token.
      Parameters:
      options - Options to apply when creating the client access token.
      Returns:
      A new client access token instance.
    • sendToAllWithResponse

      public Mono<Response<Void>> sendToAllWithResponse(BinaryData message, WebPubSubContentType contentType, long contentLength, RequestOptions requestOptions)
      Broadcast content inside request body to all the connected client connections.
      Parameters:
      message - The payload body.
      contentType - Upload file type.
      contentLength - The contentLength parameter.
      requestOptions - The options to configure the HTTP request before HTTP client sends it.
      Returns:
      the completion.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      HttpResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • sendToAllWithResponse

      public Mono<Response<Void>> sendToAllWithResponse(BinaryData message, RequestOptions requestOptions)
      Broadcast content inside request body to all the connected client connections.
      Parameters:
      message - The payload body.
      requestOptions - The options to configure the HTTP request before HTTP client sends it.
      Returns:
      the completion.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      HttpResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • sendToAll

      public Mono<Void> sendToAll(String message, WebPubSubContentType contentType)
      Broadcast content inside request body to all the connected client connections.
      Parameters:
      message - The payload body.
      contentType - Upload file type.
      Returns:
      the completion.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      HttpResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • connectionExistsWithResponse

      public Mono<Response<Boolean>> connectionExistsWithResponse(String connectionId, RequestOptions requestOptions)
      Check if the connection with the given connectionId exists.
      Parameters:
      connectionId - The connection Id.
      requestOptions - The options to configure the HTTP request before HTTP client sends it.
      Returns:
      whether resource exists.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      HttpResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • closeConnectionWithResponse

      public Mono<Response<Void>> closeConnectionWithResponse(String connectionId, RequestOptions requestOptions)
      Close the client connection.
      Parameters:
      connectionId - Target connection Id.
      requestOptions - The options to configure the HTTP request before HTTP client sends it.
      Returns:
      the completion.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      HttpResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • sendToConnectionWithResponse

      public Mono<Response<Void>> sendToConnectionWithResponse(String connectionId, BinaryData message, WebPubSubContentType contentType, long contentLength, RequestOptions requestOptions)
      Send content inside request body to the specific connection.
      Parameters:
      connectionId - The connection Id.
      message - The payload body.
      contentType - Upload file type.
      contentLength - The contentLength parameter.
      requestOptions - The options to configure the HTTP request before HTTP client sends it.
      Returns:
      the completion.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      HttpResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • sendToConnectionWithResponse

      public Mono<Response<Void>> sendToConnectionWithResponse(String connectionId, BinaryData message, RequestOptions requestOptions)
      Send content inside request body to the specific connection.
      Parameters:
      connectionId - The connection Id.
      message - The payload body.
      requestOptions - The options to configure the HTTP request before HTTP client sends it.
      Returns:
      the completion.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      HttpResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • sendToConnection

      public Mono<Void> sendToConnection(String connectionId, String message, WebPubSubContentType contentType)
      Send content inside request body to the specific connection.
      Parameters:
      connectionId - The connection Id.
      message - The payload body.
      contentType - Upload file type.
      Returns:
      the completion.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      HttpResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • groupExistsWithResponse

      public Mono<Response<Boolean>> groupExistsWithResponse(String group, RequestOptions requestOptions)
      Check if there are any client connections inside the given group.
      Parameters:
      group - Target group name, which length should be greater than 0 and less than 1025.
      requestOptions - The options to configure the HTTP request before HTTP client sends it.
      Returns:
      whether resource exists.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      HttpResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • sendToGroupWithResponse

      public Mono<Response<Void>> sendToGroupWithResponse(String group, BinaryData message, WebPubSubContentType contentType, long contentLength, RequestOptions requestOptions)
      Send content inside request body to a group of connections.
      Parameters:
      group - Target group name, which length should be greater than 0 and less than 1025.
      message - The payload body.
      contentType - Upload file type.
      contentLength - The contentLength parameter.
      requestOptions - The options to configure the HTTP request before HTTP client sends it.
      Returns:
      the completion.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      HttpResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • sendToGroupWithResponse

      public Mono<Response<Void>> sendToGroupWithResponse(String group, BinaryData message, RequestOptions requestOptions)
      Send content inside request body to a group of connections.
      Parameters:
      group - Target group name, which length should be greater than 0 and less than 1025.
      message - The payload body.
      requestOptions - The options to configure the HTTP request before HTTP client sends it.
      Returns:
      the completion.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      HttpResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • sendToGroup

      public Mono<Void> sendToGroup(String group, String message, WebPubSubContentType contentType)
      Send content inside request body to a group of connections.
      Parameters:
      group - Target group name, which length should be greater than 0 and less than 1025.
      message - The payload body.
      contentType - Upload file type.
      Returns:
      the completion.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      HttpResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • addConnectionToGroupWithResponse

      public Mono<Response<Void>> addConnectionToGroupWithResponse(String group, String connectionId, RequestOptions requestOptions)
      Add a connection to the target group.
      Parameters:
      group - Target group name, which length should be greater than 0 and less than 1025.
      connectionId - Target connection Id.
      requestOptions - The options to configure the HTTP request before HTTP client sends it.
      Returns:
      the completion.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      HttpResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • removeConnectionFromGroupWithResponse

      public Mono<Response<Void>> removeConnectionFromGroupWithResponse(String group, String connectionId, RequestOptions requestOptions)
      Remove a connection from the target group.
      Parameters:
      group - Target group name, which length should be greater than 0 and less than 1025.
      connectionId - Target connection Id.
      requestOptions - The options to configure the HTTP request before HTTP client sends it.
      Returns:
      the completion.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      HttpResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • userExistsWithResponse

      public Mono<Response<Boolean>> userExistsWithResponse(String userId, RequestOptions requestOptions)
      Check if there are any client connections connected for the given user.
      Parameters:
      userId - Target user Id.
      requestOptions - The options to configure the HTTP request before HTTP client sends it.
      Returns:
      whether resource exists.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      HttpResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • sendToUserWithResponse

      public Mono<Response<Void>> sendToUserWithResponse(String userId, BinaryData message, WebPubSubContentType contentType, long contentLength, RequestOptions requestOptions)
      Send content inside request body to the specific user.
      Parameters:
      userId - The user Id.
      message - The payload body.
      contentType - Upload file type.
      contentLength - The contentLength parameter.
      requestOptions - The options to configure the HTTP request before HTTP client sends it.
      Returns:
      the completion.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      HttpResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • sendToUserWithResponse

      public Mono<Response<Void>> sendToUserWithResponse(String userId, BinaryData message, RequestOptions requestOptions)
      Send content inside request body to the specific user.
      Parameters:
      userId - The user Id.
      message - The payload body.
      requestOptions - The options to configure the HTTP request before HTTP client sends it.
      Returns:
      the completion.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      HttpResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • sendToUser

      public Mono<Void> sendToUser(String userId, String message, WebPubSubContentType contentType)
      Send content inside request body to the specific user.
      Parameters:
      userId - The user Id.
      message - The payload body.
      contentType - Upload file type.
      Returns:
      the completion.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      HttpResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • addUserToGroupWithResponse

      public Mono<Response<Void>> addUserToGroupWithResponse(String group, String userId, RequestOptions requestOptions)
      Add a user to the target group.
      Parameters:
      group - Target group name, which length should be greater than 0 and less than 1025.
      userId - Target user Id.
      requestOptions - The options to configure the HTTP request before HTTP client sends it.
      Returns:
      the completion.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      HttpResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • removeUserFromGroupWithResponse

      public Mono<Response<Void>> removeUserFromGroupWithResponse(String group, String userId, RequestOptions requestOptions)
      Remove a user from the target group.
      Parameters:
      group - Target group name, which length should be greater than 0 and less than 1025.
      userId - Target user Id.
      requestOptions - The options to configure the HTTP request before HTTP client sends it.
      Returns:
      the completion.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      HttpResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • removeUserFromAllGroupsWithResponse

      public Mono<Response<Void>> removeUserFromAllGroupsWithResponse(String userId, RequestOptions requestOptions)
      Remove a user from all groups.
      Parameters:
      userId - Target user Id.
      requestOptions - The options to configure the HTTP request before HTTP client sends it.
      Returns:
      the completion.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      HttpResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • grantPermissionWithResponse

      public Mono<Response<Void>> grantPermissionWithResponse(WebPubSubPermission permission, String connectionId, RequestOptions requestOptions)
      Grant permission to the connection.
      Parameters:
      permission - The permission: current supported actions are joinLeaveGroup and sendToGroup.
      connectionId - Target connection Id.
      requestOptions - The options to configure the HTTP request before HTTP client sends it.
      Returns:
      the completion.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      HttpResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • revokePermissionWithResponse

      public Mono<Response<Void>> revokePermissionWithResponse(WebPubSubPermission permission, String connectionId, RequestOptions requestOptions)
      Revoke permission for the connection.
      Parameters:
      permission - The permission: current supported actions are joinLeaveGroup and sendToGroup.
      connectionId - Target connection Id.
      requestOptions - The options to configure the HTTP request before HTTP client sends it.
      Returns:
      the completion.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      HttpResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • checkPermissionWithResponse

      public Mono<Response<Boolean>> checkPermissionWithResponse(WebPubSubPermission permission, String connectionId, RequestOptions requestOptions)
      Check if a connection has permission to the specified action.
      Parameters:
      permission - The permission: current supported actions are joinLeaveGroup and sendToGroup.
      connectionId - Target connection Id.
      requestOptions - The options to configure the HTTP request before HTTP client sends it.
      Returns:
      whether resource exists.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      HttpResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • closeAllConnectionsWithResponse

      public Mono<Response<Void>> closeAllConnectionsWithResponse(RequestOptions requestOptions)
      Close the connections in the hub.

      Query Parameters

      Query Parameters
      NameTypeRequiredDescription
      excludedStringNoExclude these connectionIds when closing the connections in the hub.
      reasonStringNoThe reason closing the client connection.
      apiVersionStringYesApi Version
      Parameters:
      requestOptions - The options to configure the HTTP request before HTTP client sends it.
      Returns:
      the completion.
      Throws:
      HttpResponseException - thrown if status code is 400 or above, if throwOnError in requestOptions is not false.
    • closeGroupConnectionsWithResponse

      public Mono<Response<Void>> closeGroupConnectionsWithResponse(String group, RequestOptions requestOptions)
      Close connections in the specific group.

      Query Parameters

      Query Parameters
      NameTypeRequiredDescription
      excludedStringNoExclude these connectionIds when closing the connections in the group.
      reasonStringNoThe reason closing the client connection.
      apiVersionStringYesApi Version
      Parameters:
      group - Target group name, which length should be greater than 0 and less than 1025.
      requestOptions - The options to configure the HTTP request before HTTP client sends it.
      Returns:
      the completion.
      Throws:
      HttpResponseException - thrown if status code is 400 or above, if throwOnError in requestOptions is not false.
    • closeUserConnectionsWithResponse

      public Mono<Response<Void>> closeUserConnectionsWithResponse(String userId, RequestOptions requestOptions)
      Close connections for the specific user.

      Query Parameters

      Query Parameters
      NameTypeRequiredDescription
      excludedStringNoExclude these connectionIds when closing the connections for the user.
      reasonStringNoThe reason closing the client connection.
      apiVersionStringYesApi Version
      Parameters:
      userId - The user Id.
      requestOptions - The options to configure the HTTP request before HTTP client sends it.
      Returns:
      the completion.
      Throws:
      HttpResponseException - thrown if status code is 400 or above, if throwOnError in requestOptions is not false.