anchor.diff:  import 'package:http_server/http_server.dart';
   import 'package:mime/mime.dart';
   
  -Future<String> getStringFromBody(HttpRequest request) async {
  +Future<String> getStringFromBody(HttpRequest request, Encoding encoding) async {
     Completer<String> completer = new Completer<String>();
     String allData = "";
     //  TODO: add error
  -  request.transform(UTF8.decoder).listen((String data) => allData += data,
  +  request.transform(encoding.decoder).listen((String data) => allData += data,
         onDone: () => completer.complete(allData));
     return completer.future;
   }
  
positive.code: 
  @InterceptorClass()
  class DecodeJson extends Interceptor {
    const DecodeJson();
  
    Future<dynamic> pre(HttpRequest request) async {
      String data = await getStringFromBody(request);
      return JSON.decode(data);
    }
  }
  
negative.code: 
  @InterceptorClass()
  class XWwwFormUrlEncoded extends Interceptor {
    final Encoding encoding;
  
    const XWwwFormUrlEncoded({this.encoding: UTF8});
  
    Future<Map<String, String>> pre(HttpRequest request) async {
      print(request.headers);
      return (await getStringFromBody(request, encoding))
          .split("&")
          .map((String part) => part.split("="))
          .map((List<String> part) => <String, String>{part.first: part.last})
  