basic_http_interceptor 0.0.6 copy "basic_http_interceptor: ^0.0.6" to clipboard
basic_http_interceptor: ^0.0.6 copied to clipboard

HTTP Interceptors for Beginners, Logging, Headers, Proxies, and Hooks.

basic http interceptor for beginners.

Features #

  • http logger interceptor
  • http header interceptor
  • http request/response hook
  • http proxy

Getting started #

    dart pub add basic_http_interceptor

Usage #

  final logger = Logger('main');

  final List<InterceptorContract> interceptors = [
    // logBody = true, or exist header X-Debug-Body, output body
    InterceptorLogger(logger, true),
  ];

  final interClient = interceptedClient(
    interceptors: interceptors,
  );

  // https://www.google.com/search?q=hello+world
  final url = buildUrlString(
    'https://www.google.com',
    {'q': 'hello world'},
  );

  interClient.get(url.toUri()).then((Response response) {
    logger.info('--- response ---');
    logger.info(response.request?.method);
    logger.info(response.request?.url.toString());
    logger.info(response.statusCode);
    // logger.info(response.headers.toString());
    // logger.info(response.body.toString());
  });

Additional information #

  • http header interceptor
  final jwt = '';
  final requestHeader = {
    'Authorization': 'Bearer $jwt',
  };

  final List<InterceptorContract> interceptors = [
    InterceptorHeader(requestHeader: requestHeader),
  ];

  final interClient = interceptedClient(
    interceptors: interceptors,
  );
  • http proxy
  final List<InterceptorContract> interceptors = [
  ];
  
  final proxy = {
    'no_proxy': 'localhost,127.0.0.1,::1',
    'https_proxy': 'https://127.0.0.1:7890/',
    'http_proxy': 'http://127.0.0.1:7890/',
    'all_proxy': 'socks5://127.0.0.1:7891/',
  };

  final interClient = interceptedClient(
    interceptors: interceptors,
    proxy:proxy,
  );
  • http hook

  BaseRequest requestHandle(BaseRequest request ){
    // handle http headers
    final header = request.headers;
    header.addAll({
        'appkey': '',
        'appid': '',
    });

    // handle url param
    final url = request.url;
    url.addParameters({
        'timestamp': DateTime.now().microsecondsSinceEpoch,
    });

    final req = request.copyWith(
        headers:header,
        url:url,
    );

    return req;
  }

  BaseResponse responseHandle(BaseResponse response ){
    return response;
  }

  final interceptorHook = InterceptorHook(
    requestHook:requestHandle,
    responseHook:responseHandle,
  );
  final List<InterceptorContract> interceptors = [
    interceptorHook,
  ];
  
  final interClient = interceptedClient(
    interceptors: interceptors,
  );
0
likes
150
points
31
downloads

Publisher

verified publisheriche2.com

Weekly Downloads

HTTP Interceptors for Beginners, Logging, Headers, Proxies, and Hooks.

Repository (GitHub)

Topics

#http #interceptor

Documentation

API reference

License

MIT (license)

Dependencies

http, http_interceptor, logging

More

Packages that depend on basic_http_interceptor