start method

Future<void> start()

Implementation

Future<void> start() async {
  _server = await HttpServer.bind(InternetAddress.anyIPv4, port);

  _server!.listen((HttpRequest request) async {
    final requestPath = request.requestedUri.path.replaceFirst('/', '');

    try {
      if (requestPath == "list") {
        await _listRequest(request);
      } else if (requestPath == "upload") {
        await _requestUpload(request);
      } else if (requestPath == "download") {
        await _requestDownload(request);
      } else if (requestPath == "remove") {
        await _requestRemove(request);
      } else {
        await _indexRequest(request, requestPath);
      }
    } catch (e) {
      request.response.statusCode = HttpStatus.internalServerError;
      request.response.write('Server Error: $e');
    } finally {
      await request.response.close();
    }
  });
}