import 'dart:convert'; import 'dart:io'; Future main() async { final server = await createServer(); print('Server started: ${server.address} port ${server.port}'); await handleRequests(server); } Future createServer() async { final address = InternetAddress.loopbackIPv4; const port = 4040; return await HttpServer.bind(address, port); } Future handleRequests(HttpServer server) async { await for (HttpRequest request in server) { switch (request.method) { case 'GET': handleGet(request); break; case 'POST': handlePost(request); break; default: handleDefault(request); } } } var myStringStorage = 'Ein Hallo vom Dart Server'; void handleGet(HttpRequest request) { request.response ..write(myStringStorage) ..close(); } Future handlePost(HttpRequest request) async { myStringStorage = await utf8.decoder.bind(request).join(); request.response ..write('Ich hab\'s. Danke.') ..close(); } void handleDefault(HttpRequest request) { request.response ..statusCode = HttpStatus.methodNotAllowed ..write('Unsupported request: ${request.method}.') ..close(); }