🖥️
Ktor Server Gotchas
Find the bugs in each code snippet
←→NavigateAShow remainingRReset
🎯Bug Formula: What's wrong → What breaks for the user → The fix → The trade-off
Find the bugs in each code snippet
1fun Application.configureRouting() {2 routing {3 post("/upload") {4 val multipart = call.receiveMultipart()5 var fileName = ""67 multipart.forEachPart { part ->8 when (part) {9 is PartData.FileItem -> {10 fileName = part.originalFileName ?: "upload"11 val file = File("/uploads/$fileName")12 file.outputStream().use { output ->13 part.streamProvider().copyTo(output)14 }15 }16 else -> {}17 }18 part.dispose()19 }2021 call.respondText("Uploaded: $fileName")22 }23 }24}Find the bugs in each code snippet
1fun Application.configureRouting() {2 routing {3 post("/upload") {4 val multipart = call.receiveMultipart()5 var fileName = ""67 multipart.forEachPart { part ->8 when (part) {9 is PartData.FileItem -> {10 fileName = part.originalFileName ?: "upload"11 val file = File("/uploads/$fileName")12 file.outputStream().use { output ->13 part.streamProvider().copyTo(output)14 }15 }16 else -> {}17 }18 part.dispose()19 }2021 call.respondText("Uploaded: $fileName")22 }23 }24}