Skip to content
代码片段 群组 项目
http_request.dart 1.1 KB
更新 更旧
import 'package:dio/dio.dart' as dio;
import 'package:jihu_gitlab_app/common/pages/auth/token_model.dart';
import 'environment.dart';
import 'interceptor/error_interceptor.dart';
import 'response.dart';

class HttpRequest {
  static final HttpRequest _impl = HttpRequest(Environment.instance(), dio.Dio());

  final Environment _environment;
  final dio.Dio _dio;

  HttpRequest(this._environment, this._dio);
  static HttpRequest instance() {
    _impl._dio.options.headers[HttpHeaders.authorizationHeader] = 'Bearer ${TokenModel.accessToken()}';
    _impl._dio.interceptors.add(ErrorInterceptor());
  Future<Response<T>> get<T>(String path) async {
    return Response(await _dio.get(_environment.url() + path.replaceAll(_environment.url(), '')));
ling zhang's avatar
ling zhang 已提交

  Future<Response<T>> post<T>(String path, Map<String, dynamic> data) async {
    try {
      var response = await _dio.post(url(path), data: data);
      return Response(response);
    } catch (e) {
      rethrow;
    }
  }

  String url(String path) {
    return _environment.url() + path;
  }