Commit d05ddbd4 authored by Yoshiharu Hirose's avatar Yoshiharu Hirose

ベースディレクトリを引数で指定

parent c1a8aa7e
iaas-sdk ユニットテスト用ダミーHTTPサーバ
実行
> activator "run (ベースディレクトリ)"
※HTTPサーバから返却するxmlが格納されたディレクトリを指定する。
例
> activator "run D:\project\nifty\clisdk\dev\iaas-sdk\src\test\resources"
......@@ -6,27 +6,30 @@ import com.sun.net.httpserver.{HttpExchange, HttpHandler, HttpServer}
import scala.collection.JavaConversions._
object DummyHttpServer {
val BASEDIR = """D:\project\nifty\clisdk\dev\iaas-sdk\src\test\resources"""
val PORTS = Array(80, 8080, 38080)
def main(args: Array[String]) {
PORTS.foreach(startServer)
if (args.length > 0) {
printf("Starting server.\nbasedir = %s\n", args(0))
PORTS.foreach { port => startServer(args(0), port) }
}
}
/**
* サーバ起動
*
* @param port 待ち受けポート番号
*/
def startServer(port: Int) {
def startServer(basedir: String, port: Int) {
val server = HttpServer.create(new InetSocketAddress(port), 10)
server.createContext("/", new DummyHttpServer.MyHandler)
server.createContext("/", new DummyHttpServer.MyHandler(basedir))
server.start()
}
/**
* ハンドラ
*/
class MyHandler extends HttpHandler {
class MyHandler(basedir: String) extends HttpHandler {
def handle(t: HttpExchange): Unit = {
println("------------------------------------------------------------")
printf("%s %s\n", t.getRequestMethod, t.getRequestURI)
......@@ -35,7 +38,7 @@ object DummyHttpServer {
printf("%s: %s\n", ent.getKey, v)
}
}
findFile(new File(t.getRequestURI.getPath).getName, new File(BASEDIR)) match {
findFile(new File(t.getRequestURI.getPath).getName, new File(basedir)) match {
case Some(file) =>
t.sendResponseHeaders(200, file.length)
val is = new BufferedInputStream(new FileInputStream(file))
......@@ -55,6 +58,7 @@ object DummyHttpServer {
/**
* ファイル検索
*
* @param filename ファイル名
* @param dir 検索対象ディレクトリ
* @return ファイル
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment