create method

Creates a session of the customer portal.

Implementation

Future<BillingPortalSession> create(
    {required BillingPortalSessionCreateOptions options}) async {
  final $uri = Uri.parse('$_baseUri/v1/billing_portal/sessions');
  final $request = _$http.Request(
    'POST',
    $uri,
  );
  $request.body = options.encodeWith(coder.formData.encoder);
  $request.headers['Content-Type'] = 'application/x-www-form-urlencoded';
  $request.headers['Accept'] = 'application/json';
  final $response = await _httpClient.send($request);
  final $body = await $response.stream.toBytes();
  switch ($response.statusCode) {
    /// Successful response.
    case 200:
      final $json = _$convert.jsonDecode(_$convert.utf8.decode($body));
      return BillingPortalSession.fromJson($json);

    /// Error response.
    case _:
      final $json = _$convert.jsonDecode(_$convert.utf8.decode($body));
      throw Error.fromJson($json);
  }
}