Class AnalyticsRequest
- All Implemented Interfaces:
ChunkDecodable<AnalyticsChunkHeader,
,AnalyticsChunkRow, AnalyticsChunkTrailer, AnalyticsResponse> Encodable<com.couchbase.client.core.deps.io.netty.handler.codec.http.FullHttpRequest>
,HttpRequest<AnalyticsChunkHeader,
,AnalyticsChunkRow, AnalyticsChunkTrailer, AnalyticsResponse> Request<AnalyticsResponse>
-
Field Summary
-
Constructor Summary
ConstructorDescriptionAnalyticsRequest
(Duration timeout, CoreContext ctx, RetryStrategy retryStrategy, Authenticator authenticator, byte[] query, int priority, boolean idempotent, String contextId, String statement, RequestSpan span, String bucket, String scope) AnalyticsRequest
(Duration timeout, CoreContext ctx, RetryStrategy retryStrategy, Authenticator authenticator, byte[] query, int priority, boolean idempotent, String contextId, String statement, RequestSpan span, String bucket, String scope, boolean translateExceptions, int apiVersion) -
Method Summary
Modifier and TypeMethodDescriptionbucket()
Returns the name of the bucket this request is scoped to, or null if not scoped to a bucket.decode
(ResponseStatus status, AnalyticsChunkHeader header, Flux<AnalyticsChunkRow> rows, Mono<AnalyticsChunkTrailer> trailer) Decodes a chunked response into the response format.com.couchbase.client.core.deps.io.netty.handler.codec.http.FullHttpRequest
encode()
boolean
Returns if the given request is idempotent or not.name()
The unique name of the request, usually related to the type but not necessarily.Returns a potentially non-unique identifier that is useful for tracing output.static String
queryContext
(String bucket, String scope) Helper method to build the query context from bucket and scope.scope()
Returns contextual information for each individual service.The service type of this request.boolean
Methods inherited from class com.couchbase.client.core.msg.BaseRequest
absoluteTimeout, cancel, cancellationReason, cancelled, completed, context, createdAt, fail, failed, id, requestSpan, response, retryStrategy, succeed, succeeded, timeout, timeoutElapsed, timeoutRegistration
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.couchbase.client.core.msg.Request
absoluteTimeout, cancel, cancel, cancellationReason, cancelled, completed, context, createdAt, fail, failed, id, requestSpan, response, retryStrategy, succeed, succeeded, target, timeout, timeoutElapsed, timeoutRegistration
-
Field Details
-
NO_PRIORITY
public static final int NO_PRIORITY- See Also:
-
-
Constructor Details
-
AnalyticsRequest
public AnalyticsRequest(Duration timeout, CoreContext ctx, RetryStrategy retryStrategy, Authenticator authenticator, byte[] query, int priority, boolean idempotent, String contextId, String statement, RequestSpan span, String bucket, String scope) -
AnalyticsRequest
public AnalyticsRequest(Duration timeout, CoreContext ctx, RetryStrategy retryStrategy, Authenticator authenticator, byte[] query, int priority, boolean idempotent, String contextId, String statement, RequestSpan span, String bucket, String scope, boolean translateExceptions, int apiVersion)
-
-
Method Details
-
queryContext
Helper method to build the query context from bucket and scope.- Parameters:
bucket
- the name of the bucket.scope
- the name of the scope.- Returns:
- the build query context string.
-
encode
public com.couchbase.client.core.deps.io.netty.handler.codec.http.FullHttpRequest encode() -
decode
public AnalyticsResponse decode(ResponseStatus status, AnalyticsChunkHeader header, Flux<AnalyticsChunkRow> rows, Mono<AnalyticsChunkTrailer> trailer) Description copied from interface:ChunkDecodable
Decodes a chunked response into the response format.- Specified by:
decode
in interfaceChunkDecodable<AnalyticsChunkHeader,
AnalyticsChunkRow, AnalyticsChunkTrailer, AnalyticsResponse> - Parameters:
status
- the http response status.header
- the chunk header.rows
- the chunk rows.trailer
- the chunk trailer.- Returns:
- a decoded response including all the chunk parts.
-
serviceType
Description copied from interface:Request
The service type of this request.Can be null if this is a 'virtual service' (e.g. transactions), which don't map 1:1 to a particular cluster service, but need to integrate into various codepaths that are built around ServiceType such as ThresholdLoggingTracer. Virtual requests must not be sent into core at present, as there is limited support for them.
- Specified by:
serviceType
in interfaceRequest<AnalyticsResponse>
- Returns:
- the service type for this request.
-
idempotent
public boolean idempotent()Description copied from interface:Request
Returns if the given request is idempotent or not.By default, this method always returns false for data consistency reasons. Only specific idempotent operations should override this default since it impacts retry handling quite a bit. DO NOT SET THIS TO TRUE ON MUTATING OPERATIONS!
- Specified by:
idempotent
in interfaceRequest<AnalyticsResponse>
- Returns:
- true if idempotent.
-
operationId
Description copied from interface:Request
Returns a potentially non-unique identifier that is useful for tracing output.Note: might be null! It depends on the type of operation. It is also different from the unqiue operation ID that increments to provide additional context (i.e in query the context uuid, in kv the opaque value).
- Specified by:
operationId
in interfaceRequest<AnalyticsResponse>
- Returns:
- if present, the operation id. Null otherwise.
-
statement
-
translateExceptions
public boolean translateExceptions() -
serviceContext
Description copied from interface:Request
Returns contextual information for each individual service.- Specified by:
serviceContext
in interfaceRequest<AnalyticsResponse>
- Overrides:
serviceContext
in classBaseRequest<AnalyticsResponse>
- Returns:
- the service context.
-
bucket
Description copied from interface:Request
Returns the name of the bucket this request is scoped to, or null if not scoped to a bucket.- Specified by:
bucket
in interfaceRequest<AnalyticsResponse>
- Returns:
- (nullable)
-
scope
-
name
Description copied from interface:Request
The unique name of the request, usually related to the type but not necessarily.The default implementation is derived from the class name (i.e. FooRequest returns foo), but if that does not match up it should be overridden in the actual class.
- Specified by:
name
in interfaceRequest<AnalyticsResponse>
- Returns:
- the name of the request type.
-