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 <[email protected]>
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
['"[email protected]" <[email protected]>'].