>>>
var overlapping = _directories.keys.where((directory) =>
    path.isWithin(directory, rootDirectory) ||
    path.isWithin(rootDirectory, directory)).toList();
<<<
var overlapping = _directories.keys
    .where((directory) =>
        path.isWithin(directory, rootDirectory) ||
        path.isWithin(rootDirectory, directory))
    .toList();
>>>
return isLoopback(server.address.host) == isLoopback(url.host) ||
    server.address.host == url.host;
<<<
return isLoopback(server.address.host) == isLoopback(url.host) ||
    server.address.host == url.host;