Skip to content

Commit

Permalink
Merge pull request #107 from betarixm/fix/address
Browse files Browse the repository at this point in the history
Ensure non-loopback address
  • Loading branch information
betarixm committed Dec 7, 2023
2 parents 925405d + 5b83507 commit 686981e
Showing 1 changed file with 12 additions and 2 deletions.
14 changes: 12 additions & 2 deletions utils/src/main/scala/Hooks.scala
Original file line number Diff line number Diff line change
@@ -1,12 +1,22 @@
package kr.ac.postech.paranode.utils

import java.net.InetAddress
import java.net.Inet4Address
import java.net.NetworkInterface
import java.net.ServerSocket
import scala.jdk.CollectionConverters._
import scala.reflect.io.Directory
import scala.util.Using

object Hooks {
def useLocalHostAddress: String = InetAddress.getLocalHost.getHostAddress
def useLocalHostAddress: String =
NetworkInterface.getNetworkInterfaces.asScala
.flatMap(_.getInetAddresses.asScala.toList)
.find(address =>
address.isInstanceOf[Inet4Address] && !address.isLoopbackAddress
)
.get
.getHostAddress

def useAvailablePort: Int = Using(new ServerSocket(0))(_.getLocalPort).get
def useTemporaryDirectory: Directory = Directory.makeTemp("paranode")
}

0 comments on commit 686981e

Please sign in to comment.