anchor.diff:      RequestContext req, ResponseContext res);
   
   Future<String> _getParam(RequestContext req, String name, String state,
  -    {bool body: false}) async {
  +    {bool body: false, bool throwIfEmpty: true}) async {
     Map<String, dynamic> data;
   
     if (body == true) {
  
positive.code:     );
    }
  
    FutureOr<DeviceCodeResponse> deviceCodeGrant(Client client,
        Iterable<String> scopes, RequestContext req, ResponseContext res) async {
      var body = await req.parseBody().then((_) => req.bodyAsMap);
  
negative.code: 
        state = body['state']?.toString() ?? '';
  
        var grantType = await _getParam(req, 'grant_type', state, body: true, throwIfEmpty: false);
  
        if (grantType != 'authorization_code') {
          var match =
  