handleServiceRequest method

Future handleServiceRequest(
  1. HttpRequest request
)

Implementation

Future handleServiceRequest(HttpRequest request) async {
  var name = request.uri.pathSegments.last;
  if (name.endsWith('.xml')) {
    name = name.substring(0, name.length - 4);
  }
  var service = device.findService(name);

  service ??= device.findService(Uri.decodeComponent(name));

  if (service == null) {
    request.response.statusCode = HttpStatus.notFound;
    await request.response.close();
  } else {
    final xml = service.toXml();
    request.response
      ..headers.contentType = _xmlType
      ..writeln(xml);
    await request.response.close();
  }
}