retrolite 1.1.2 copy "retrolite: ^1.1.2" to clipboard
retrolite: ^1.1.2 copied to clipboard

A RESTful API client for Dart and Flutter, with a simple API syntax, without reflection.

example/retrolite_example.dart

import 'dart:io';

import 'package:http/http.dart' as http;
import 'package:http/io_client.dart';
import 'package:retrolite/Secrets.dart';
import 'package:retrolite/flutuate_api.dart';
import 'package:retrolite/retrolite.dart';

import 'reqres/RegisterContent.dart';
import 'reqres/ReqResApi.dart';
import 'tmdb/TmdbApi.dart';

main() async {
  await listMoviesGenresFromTmdbApi();

  await registerFromReqResApi();
}

void listMoviesGenresFromTmdbApi() async {
  print('Calling TMDB api...\n');

  Retrolite retrolite = Retrolite(
    'https://api.themoviedb.org/3/',
    httpClientCreator: newHttpClient,
  );

  Secrets secrets = await Secrets.loadFromFile();

  if (secrets.containsKey('tmdb_token')) {
    TmdbApi api =
        retrolite.register<TmdbApi>(new TmdbApi(secrets['tmdb_token']));

    await api.genresForMovies().then((response) {
      for (var genre in response.body.genres) {
        print(genre.toJson());
      }
    });
  } else {
    print(
        'Please, specifies you TMDB API token in "resources/secrets.json" file.');
  }
  print('');
}

void registerFromReqResApi() async {
  print('Calling REQ|RES api...\n');

  Retrolite retrolite = Retrolite(
    'https://reqres.in',
    httpClientCreator: newUnsafeHttpClient,
  );

  ReqResApi api = retrolite.register<ReqResApi>(new ReqResApi());

  RegisterContent content = new RegisterContent('eve.holt@reqres.in', 'pistol');

  await api.register(content).then((response) {
    print(response.body.toJson());
  });
  print('');
}

/// Returns an instance of the default http client.
http.BaseClient newHttpClient() {
  return newDefaultHttpClient();
}

/// Returns an http client that ignores unsafe SSL certificates.
http.BaseClient newUnsafeHttpClient() {
  final bool trustSelfSigned = true;
  HttpClient httpClient = new HttpClient()
    ..badCertificateCallback =
        ((X509Certificate cert, String host, int port) => trustSelfSigned);
  return new IOClient(httpClient);
}
0
likes
40
pub points
0%
popularity

Publisher

verified publisherlamkr.com

A RESTful API client for Dart and Flutter, with a simple API syntax, without reflection.

Repository

License

MIT (LICENSE)

Dependencies

collection, http

More

Packages that depend on retrolite