post method

Future<Response?> post(
  1. String route, {
  2. Map<String, dynamic> headers = const {},
  3. Map<String, dynamic> body = const {},
})

Submits a HTTP POST request with the given headers and body

Implementation

Future<http.Response?> post(
  String route, {
  Map<String, dynamic> headers = const {},
  Map<String, dynamic> body = const {},
}) async {
  final uri = routeToUri(route);

  if (uri == null) {
    log.warning('Attempted to access an invalid route: ${route}');
    return null;
  }

  final crucialHeaders = <String, dynamic>{
    'Authorization': 'Bearer ${client.accessToken}',
    'User-Agent': userAgent,
    'X-User-Type': 'Bot',
    'X-Library': 'ruqqus.dart',
    'X-Supports': 'auth',
  };

  try {
    return await http.post(
      uri,
      body: body,
      headers: Map<String, String>.from(crucialHeaders..addAll(headers)),
    );
  } on HttpException catch (exception) {
    log.error(exception.message);
    return null;
  }
}