1

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 呼び出しが発生した後に実行したい場合があります。助言がありますか?

4

0 に答える 0