Class AbstractTriggerContext

  • Direct Known Subclasses:
    HttpTriggerContext, TopicTriggerContext

    public abstract class AbstractTriggerContext
    extends Object

    Provides an abstract Nitric FaaS trigger context class.

    The example below illustrates unwrapping the FaaS trigger context object.

    
     package com.example;
    
     import io.nitric.faas.Faas;
     import io.nitric.faas.Trigger;
     import io.nitric.faas.TriggerContext;
     import io.nitric.faas.NitricFunction;
     import io.nitric.faas.Response;
    
     public class HelloWorld implements NitricFunction {
    
         public Response handle(Trigger trigger) {
             if (trigger.getContext().isHttp()) {
                 var httpContext = trigger.getContext().asHttp();
                 // Extract HTTP context metadata
             } else if (trigger.getContext().isTopic()) {
                 var topicContext = trigger.getContext().asTopic();
                 // Extract Topic context metadata
             }
    
             return trigger.buildResponse("Hello World");
         }
    
         public static void main(String... args) {
             Faas.start(new HelloWorld());
         }
     }
     
    See Also:
    HttpTriggerContext, TopicTriggerContext
    • Constructor Detail

      • AbstractTriggerContext

        public AbstractTriggerContext()
    • Method Detail

      • isHttp

        public final boolean isHttp()
        Returns:
        If the context is for a HTTP Trigger
      • isTopic

        public final boolean isTopic()
        Returns:
        If the context is for a Topic Trigger
      • asHttp

        public final HttpTriggerContext asHttp()
        Returns:
        The Context as a HttpRequestTriggerContext or null if is not a trigger from a http request
      • asTopic

        public final TopicTriggerContext asTopic()
        Returns:
        The Context as a TopicTriggerContext or null if is not a trigger for a topic
      • buildTriggerContext

        protected static AbstractTriggerContext buildTriggerContext​(io.nitric.proto.faas.v1.TriggerRequest trigger)
        Create a new TriggerContext from the on-wire TriggerRequest from the Nitric membrane
        Returns:
        The translated TriggerContext or null if the TriggerRequest does not contain context