zoukankan      html  css  js  c++  java
  • spray 处理 response 的通用函数

    def handleActorResponse: PartialFunction[Try[Any],  (StatusCode, ResponseResult)] = {
    
        case Failure(exp) =>
          (InternalServerError, ResponseResult(ResponseResult.StatFailure, exp.toString))
    
        case Success(res) =>
    
          val ret = res.asInstanceOf[ResponseResult]
          
          log.info("response is: " + ret)
    
          ret.status match {
    
            case ResponseResult.StatSuccess => (OK, ret)
    
            case _ => (InternalServerError, ret)
    
          }
      }
    
      def completeResponse(arg: (StatusCode, ResponseResult)) = {
        complete(arg._1, arg._2.toString)
      }
    
    //  @todo change ResponseResult to Any for better flexibility
    
      def sendResponse(response: Future[Any]) = {
        onComplete(response) {
          handleActorResponse andThen completeResponse
        }
      }
    

      

  • 相关阅读:
    2020年3月22日
    2021年3月21日
    2021年3月20日
    人件集阅读笔记02
    2021年3月19日
    2021年3月18日
    2021年3月17日
    2021年3月16日
    2021年3月15日
    梦断代码阅读笔记01
  • 原文地址:https://www.cnblogs.com/xinsheng/p/4682704.html
Copyright © 2011-2022 走看看