Skip to content

Commit

Permalink
Change some production stuff on the window
Browse files Browse the repository at this point in the history
- check automatically if on dev or prod (jar) environement
- choose local port automatically.
  • Loading branch information
YairLevi committed Jan 28, 2024
1 parent d1c7ea8 commit 526eed6
Showing 1 changed file with 11 additions and 4 deletions.
15 changes: 11 additions & 4 deletions src/main/kotlin/org/levi/coffee/Window.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package org.levi.coffee


import dev.webview.Webview
import io.ktor.network.sockets.*
import io.ktor.server.engine.*
import io.ktor.server.http.content.*
import io.ktor.server.netty.*
Expand All @@ -11,14 +12,18 @@ import org.levi.coffee.internal.MethodBinder
import org.levi.coffee.internal.util.FileUtil
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import java.net.ServerSocket
import java.util.*
import java.util.function.Consumer
import kotlin.collections.ArrayList
import kotlin.system.exitProcess

class Window(val dev: Boolean = true, val args: Array<String>) {
class Window(val args: Array<String>) {
private val log: Logger = LoggerFactory.getLogger(this::class.java)

private val dev = run {
val className: String = Window::class.java.getName().replace('.', '/')
val classJar: String = Window::class.java.getResource("/$className.class")?.toString() ?: ""
classJar.startsWith("jar:")
}
private val _beforeStartCallbacks: MutableList<Runnable> = ArrayList()
private val _onCloseCallbacks: MutableList<Runnable> = ArrayList()
private val _bindObjects = ArrayList<Any>()
Expand Down Expand Up @@ -112,7 +117,9 @@ class Window(val dev: Boolean = true, val args: Array<String>) {

var server: NettyApplicationEngine? = null
if (!dev) {
val prodPort = 4567
val s = ServerSocket(0);
val prodPort = s.localPort
s.close()
server = embeddedServer(Netty, port = prodPort, host = "localhost") {
routing {
staticResources("/", "dist") {
Expand Down

0 comments on commit 526eed6

Please sign in to comment.