REST API を公開するサーバーに REST 呼び出しを行うクライアントがあります。これが私がこれまでに実装したものです:
override def getData[T](reqURL: String, requestParam: Option[Seq[(String, String)]])(responseHandler: T => Unit) = {
val onSuccess: PartialFunction[String, Unit] = {
case s => responseHandler(s.asInstanceOf[T])
}
val onFailure: PartialFunction[Throwable, Unit] = {
case e => e.printStackTrace
}
val request = requestParam match {
case Some(params) => url(reqURL).as_!("user", "pass") <<? params
case None => url(reqURL).as_!("user", "pass")
}
Http(request OK as.String).onSuccess(onSuccess).onFailure(onFailure)
}
完全に正常に動作しますが、呼び出しが完了した後でも HTTP 接続が開いていることに気付きました。この接続を閉じるにはどうすればよいですか? onSuccess または onFailure 呼び出しが発生した後に実行したい場合があります。助言がありますか?