http_base_client 1.4.1 copy "http_base_client: ^1.4.1" to clipboard
http_base_client: ^1.4.1 copied to clipboard

A minimalistic HTTP client wrapped around the Dart http package.

example/main.dart

import 'dart:developer';

import 'package:http_base_client/http_base_client.dart';

Future<void> main() async {
  // AUTO-DISPOSING HTTP CLIENT
  const httpClient = HttpBaseClient();

  // CHECKING INTERNET CONNECTIVITY
  final hasConnection = await httpClient.checkInternetConnection;

  if (!hasConnection) {
    log('No internet connection.');

    return;
  }

  // MAKING A GET REQUEST
  final usersResponse = await httpClient.get(
    Uri.parse(
      'https://jsonplaceholder.typicode.com/users',
    ),
  );

  log('GET STATUS CODE: ${usersResponse.statusCode}');

  if (usersResponse.body.isNotEmpty) {
    log('GET RESPONSE:');

    log(
      DataCodec.jsonEncode(
        usersResponse.data,
      ),
    );
  } else {
    log('GET RESPONSE IS EMPTY');
  }

  // MAKING A POST REQUEST
  final requestBody = {
    'title': 'foo',
    'body': 'bar',
    'userId': 1,
  };

  final postResponse = await httpClient.post(
    Uri.parse(
      'https://jsonplaceholder.typicode.com/posts',
    ),
    requestBody: DataCodec.jsonEncode(requestBody),
    headers: {
      'Content-Type': 'application/json; charset=UTF-8',
    },
  );

  log('POST STATUS CODE: ${postResponse.statusCode}');

  if (postResponse.body.isNotEmpty) {
    log('POST RESPONSE:');

    log(
      DataCodec.jsonEncode(
        postResponse.data,
      ),
    );
  } else {
    log('POST RESPONSE IS EMPTY');
  }

  // PERSISTENT HTTP CLIENT
  final persistentHttpClient = PersistentHttpBaseClient();

  final persistentResponse = await persistentHttpClient.get(
    Uri.parse(
      'https://jsonplaceholder.typicode.com/posts/1',
    ),
  );

  log(
    'PERSISTENT CLIENT STATUS CODE: '
    '${persistentResponse.statusCode}',
  );

  // CLOSING THE PERSISTENT CLIENT
  persistentHttpClient.close();

  log(
    'PERSISTENT CLIENT CLOSED: '
    '${persistentHttpClient.isClosed}',
  );
}
1
likes
160
points
535
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A minimalistic HTTP client wrapped around the Dart http package.

Repository (GitHub)
View/report issues

License

BSD-3-Clause (license)

Dependencies

http

More

Packages that depend on http_base_client