$getMessageContext_Request method
- @experimental
- required String token,
- required int messageId,
- ChatGetMessageContextApiVersion? apiVersion,
- int? limit,
- bool? oCSAPIRequest,
Get the context of a message.
Returns a DynamiteRequest
backing the getMessageContext operation.
Throws a DynamiteApiException
if the API call does not return an expected status code.
Parameters:
apiVersion
Defaults to"v1"
.token
messageId
The focused message which should be in the "middle" of the returned context.limit
Number of chat messages to receive in both directions (50 by default, 100 at most, might return 201 messages). Defaults to50
.oCSAPIRequest
Required to be true for the API request to pass. Defaults totrue
.
Status codes:
- 200: Message context returned
- 304: No messages
See:
- getMessageContext for a method executing this request and parsing the response.
- $getMessageContext_Serializer for a converter to parse the
Response
from an executed this request.
Implementation
@_i2.experimental
_i3.Request $getMessageContext_Request({
required String token,
required int messageId,
ChatGetMessageContextApiVersion? apiVersion,
int? limit,
bool? oCSAPIRequest,
}) {
final _parameters = <String, Object?>{};
final __token = _$jsonSerializers.serialize(token, specifiedType: const FullType(String));
_i4.checkString(
__token,
'token',
pattern: RegExp(r'^[a-z0-9]{4,30}$'),
);
_parameters['token'] = __token;
final __messageId = _$jsonSerializers.serialize(messageId, specifiedType: const FullType(int));
_i4.checkNumber(
__messageId,
'messageId',
minimum: 0,
);
_parameters['messageId'] = __messageId;
var __apiVersion =
_$jsonSerializers.serialize(apiVersion, specifiedType: const FullType(ChatGetMessageContextApiVersion));
__apiVersion ??= 'v1';
_parameters['apiVersion'] = __apiVersion;
var __limit = _$jsonSerializers.serialize(limit, specifiedType: const FullType(int));
__limit ??= 50;
_i4.checkNumber(
__limit,
'limit',
maximum: 100,
minimum: 1,
);
_parameters['limit'] = __limit;
final _path = _i5.UriTemplate('/ocs/v2.php/apps/spreed/api/{apiVersion}/chat/{token}/{messageId}/context{?limit*}')
.expand(_parameters);
final _uri = Uri.parse('${_rootClient.baseURL}$_path');
final _request = _i3.Request('get', _uri);
_request.headers['Accept'] = 'application/json';
// coverage:ignore-start
final authentication = _i6.IterableExtension(_rootClient.authentications)?.firstWhereOrNull(
(auth) => switch (auth) {
_i1.DynamiteHttpBearerAuthentication() || _i1.DynamiteHttpBasicAuthentication() => true,
_ => false,
},
);
if (authentication != null) {
_request.headers.addAll(
authentication.headers,
);
}
// coverage:ignore-end
var __oCSAPIRequest = _$jsonSerializers.serialize(oCSAPIRequest, specifiedType: const FullType(bool));
__oCSAPIRequest ??= true;
_request.headers['OCS-APIRequest'] = const _i4.HeaderEncoder().convert(__oCSAPIRequest);
return _request;
}