Dart Documentationangular.core.domDefaultTransformDataHttpInterceptor

DefaultTransformDataHttpInterceptor class

The default transform data interceptor.abstract

For requests, this interceptor will automatically stringify any non-string non-file objects.

For responses, this interceptor will unwrap JSON objects and parse them into Maps.

class DefaultTransformDataHttpInterceptor implements HttpInterceptor {
 Function request = (HttpResponseConfig config) {
   if (config.data != null && config.data is! String && config.data is! dom.File) {
     config.data = json.stringify(config.data);
   }
   return config;
 };

 static var _JSON_START = new RegExp(r'^\s*(\[|\{[^\{])');
 static var _JSON_END = new RegExp(r'[\}\]]\s*$');
 static var _PROTECTION_PREFIX = new RegExp('^\\)\\]\\}\',?\\n');
 Function response = (HttpResponse r) {
   if (r.data is String) {
     var d = r.data;
     d = d.replaceFirst(_PROTECTION_PREFIX, '');
     if (d.contains(_JSON_START) && d.contains(_JSON_END)) {
       d = json.parse(d);
     }
     return new HttpResponse.copy(r, data: d);
   }
   return r;
 };

 Function requestError, responseError;

}

Implements

HttpInterceptor

Properties

Function request #

Function request = (HttpResponseConfig config) {
 if (config.data != null && config.data is! String && config.data is! dom.File) {
   config.data = json.stringify(config.data);
 }
 return config;
}

Function requestError #

Function requestError

Function response #

Function response = (HttpResponse r) {
 if (r.data is String) {
   var d = r.data;
   d = d.replaceFirst(_PROTECTION_PREFIX, '');
   if (d.contains(_JSON_START) && d.contains(_JSON_END)) {
     d = json.parse(d);
   }
   return new HttpResponse.copy(r, data: d);
 }
 return r;
}

Function responseError #

Function requestError, responseError