This is an automated email from the ASF dual-hosted git repository. markusthoemmes pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk.git
The following commit(s) were added to refs/heads/master by this push: new d6edfde Patch posting of trigger activation. (#2613) d6edfde is described below commit d6edfde20b3fbaa5ff173761717e8158f28910b3 Author: rodric rabbah <rod...@gmail.com> AuthorDate: Thu Aug 17 11:45:43 2017 -0400 Patch posting of trigger activation. (#2613) --- .../scala/whisk/core/controller/Triggers.scala | 30 ++++++++++++---------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/core/controller/src/main/scala/whisk/core/controller/Triggers.scala b/core/controller/src/main/scala/whisk/core/controller/Triggers.scala index 6e0028c..fe5304f 100644 --- a/core/controller/src/main/scala/whisk/core/controller/Triggers.scala +++ b/core/controller/src/main/scala/whisk/core/controller/Triggers.scala @@ -24,12 +24,10 @@ import scala.concurrent.Future import scala.util.{ Failure, Success } import akka.actor.ActorSystem +import akka.stream.ActorMaterializer import akka.http.scaladsl.model.headers.BasicHttpCredentials import akka.http.scaladsl.model.HttpRequest -import akka.http.scaladsl.model.StatusCodes -import akka.http.scaladsl.model.StatusCodes.BadRequest -import akka.http.scaladsl.model.StatusCodes.InternalServerError -import akka.http.scaladsl.model.StatusCodes.OK +import akka.http.scaladsl.model.StatusCodes._ import akka.http.scaladsl.model.Uri import akka.http.scaladsl.model.Uri.Path import akka.http.scaladsl.server.RouteResult @@ -40,9 +38,8 @@ import akka.http.scaladsl.model.MediaTypes import akka.http.scaladsl.model.HttpEntity import akka.http.scaladsl.server.RequestContext import akka.http.scaladsl.Http -import akka.http.scaladsl.model.HttpResponse -import akka.stream.ActorMaterializer import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport._ +import akka.http.scaladsl.unmarshalling.Unmarshal import spray.json._ import spray.json.DefaultJsonProtocol.RootJsObjectFormat @@ -144,6 +141,7 @@ trait WhiskTriggersApi extends WhiskCollectionAPI { val saveTriggerActivation = WhiskActivation.put(activationStore, triggerActivation) map { _ => triggerActivationId } + val url = Uri(s"http://localhost:${whiskConfig.servicePort}") trigger.rules.map { @@ -173,6 +171,7 @@ trait WhiskTriggersApi extends WhiskCollectionAPI { Path.SingleSlash + rule.action.name.asString } }.toString + val actionUrl = Path("/api/v1") / "namespaces" / actionNamespace / "actions" val request = HttpRequest( method = POST, @@ -180,13 +179,18 @@ trait WhiskTriggersApi extends WhiskCollectionAPI { headers = List(Authorization(BasicHttpCredentials(user.authkey.uuid.asString, user.authkey.key.asString))), entity = HttpEntity(MediaTypes.`application/json`, args.getOrElse(JsObject()).compactPrint)) - Http().singleRequest(request).map { - case HttpResponse(StatusCodes.OK, headers, entity, _) => - logging.info(this, s"successfully invoked ${rule.action} -> ") - case HttpResponse(StatusCodes.NotFound, _, _, _) => - logging.info(this, s"action ${rule.action} could not be found") - case HttpResponse(code, _, entity, _) => - logging.warn(this, s"action ${rule.action} could not be invoked due to ${entity.getDataBytes.toString}") + Http().singleRequest(request).map { response => + response.status match { + case OK | Accepted => Unmarshal(response.entity).to[JsObject].map { a => + logging.info(this, s"${rule.action} activated ${a.fields("activationId")}") + } + case NotFound => + response.discardEntityBytes() + logging.info(this, s"${rule.action} failed, action not found") + case _ => Unmarshal(response.entity).to[String].map { error => + logging.warn(this, s"${rule.action} failed due to $error") + } + } } } } -- To stop receiving notification emails like this one, please contact ['"commits@openwhisk.apache.org" <commits@openwhisk.apache.org>'].