requestTrialRaw method
- @experimental
Request a trial account.
This endpoint requires admin access.
This method and the response it returns is experimental. The API might change without a major version bump.
Returns a Future containing a DynamiteRawResponse with the raw HttpClientResponse and serialization helpers. Throws a DynamiteApiException if the API call does not return an expected status code.
Parameters:
url
Server URL.name
Display name of the user.email
Email of the user.language
Language of the user.country
Country of the user.apiVersion
Defaults tov1
.oCSAPIRequest
Required to be true for the API request to pass. Defaults totrue
.
Status codes:
- 200: Trial requested successfully
- 400: Requesting trial is not possible
- 500
See:
- requestTrial for an operation that returns a DynamiteResponse with a stable API.
Implementation
@experimental
DynamiteRawResponse<HostedSignalingServerRequestTrialResponseApplicationJson, void> requestTrialRaw({
required String url,
required String name,
required String email,
required String language,
required String country,
HostedSignalingServerRequestTrialApiVersion? apiVersion,
bool? oCSAPIRequest,
}) {
final _parameters = <String, dynamic>{};
final _headers = <String, String>{
'Accept': 'application/json',
};
// coverage:ignore-start
final authentication = _rootClient.authentications.firstWhereOrNull(
(auth) => switch (auth) {
DynamiteHttpBearerAuthentication() || DynamiteHttpBasicAuthentication() => true,
_ => false,
},
);
if (authentication != null) {
_headers.addAll(
authentication.headers,
);
} else {
throw Exception('Missing authentication for bearer_auth or basic_auth');
}
// coverage:ignore-end
final $url = jsonSerializers.serialize(url, specifiedType: const FullType(String));
_parameters['url'] = $url;
final $name = jsonSerializers.serialize(name, specifiedType: const FullType(String));
_parameters['name'] = $name;
final $email = jsonSerializers.serialize(email, specifiedType: const FullType(String));
_parameters['email'] = $email;
final $language = jsonSerializers.serialize(language, specifiedType: const FullType(String));
_parameters['language'] = $language;
final $country = jsonSerializers.serialize(country, specifiedType: const FullType(String));
_parameters['country'] = $country;
var $apiVersion = jsonSerializers.serialize(
apiVersion,
specifiedType: const FullType(HostedSignalingServerRequestTrialApiVersion),
);
$apiVersion ??= 'v1';
_parameters['apiVersion'] = $apiVersion;
var $oCSAPIRequest = jsonSerializers.serialize(oCSAPIRequest, specifiedType: const FullType(bool));
$oCSAPIRequest ??= true;
_headers['OCS-APIRequest'] = const dynamite_utils.HeaderEncoder().convert($oCSAPIRequest);
final _path = UriTemplate(
'/ocs/v2.php/apps/spreed/api/{apiVersion}/hostedsignalingserver/requesttrial{?url*,name*,email*,language*,country*}',
).expand(_parameters);
return DynamiteRawResponse<HostedSignalingServerRequestTrialResponseApplicationJson, void>(
response: _rootClient.executeRequest(
'post',
_path,
_headers,
null,
const {200},
),
bodyType: const FullType(HostedSignalingServerRequestTrialResponseApplicationJson),
headersType: null,
serializers: jsonSerializers,
);
}