Example #1
0
    public override void DispatchToHandlerWith(Context context, Action.MappedParameters?mappedParameters)
    {
        try
        {
            Action <SseStreamResource> consumer;
            switch (mappedParameters?.ActionId)
            {
            case 0:     // GET /eventstreams/{streamName}
                consumer = handler => handler.SubscribeToStream(
                    (string)mappedParameters.Mapped[0].Value !,
                    (Type)mappedParameters.Mapped[1].Value !,
                    (int)mappedParameters.Mapped[2].Value !,
                    (int)mappedParameters.Mapped[3].Value !,
                    (string)mappedParameters.Mapped[4].Value !);

                PooledHandler.HandleFor(context, consumer);
                break;

            case 1:     // DELETE /eventstreams/{streamName}/{id}
                consumer = handler => handler.UnsubscribeFromStream(
                    (string)mappedParameters.Mapped[0].Value !,
                    (string)mappedParameters.Mapped[1].Value !);

                PooledHandler.HandleFor(context, consumer);
                break;
            }
        }
        catch (Exception ex)
        {
            throw new ArgumentException($"Action mismatch: Request: {context.Request} Parameters: {mappedParameters}", ex);
        }
    }
Example #2
0
 public override void DispatchToHandlerWith(Context context, Action.MappedParameters?mappedParameters)
 {
     try
     {
         switch (mappedParameters?.ActionId)
         {
         case 0:     // GET %root%{path} ServeFile(string root, string paths, string contentFilePath)
             Action <StaticFilesResource>?consumer = handler => handler.ServeFile((string)mappedParameters?.Mapped[0].Value !, (string)mappedParameters?.Mapped[1].Value !, (string)mappedParameters?.Mapped[2].Value !);
             PooledHandler.HandleFor(context, consumer);
             break;
         }
     }
     catch (Exception)
     {
         throw new ArgumentException("Action mismatch: Request: " + context.Request + " Parameters: " + mappedParameters);
     }
 }
Example #3
0
        public override void DispatchToHandlerWith(Context context, Action.MappedParameters?mappedParameters)
        {
            Action <FeedResource> consumer;

            try
            {
                switch (mappedParameters?.ActionId)
                {
                case 0
                    :     // GET /feeds/{feedName}/{feedItemId} feed(String feedName, String feedProductId, Class<? extends Actor> feedProducerClass, int feedProductElements)
                    consumer = handler => handler.Feed((string)mappedParameters.Mapped[0].Value !,
                                                       (string)mappedParameters.Mapped[1].Value !, (Type)mappedParameters.Mapped[2].Value !,
                                                       (int)mappedParameters.Mapped[3].Value !);
                    PooledHandler.HandleFor(context, consumer);
                    break;
                }
            }
            catch (Exception e)
            {
                throw new InvalidOperationException($"Action mismatch: Request: {context.Request}Parameters: {mappedParameters}", e);
            }
        }
Example #4
0
 public override void DispatchToHandlerWith(Context context, Action.MappedParameters?mappedParameters)
 {
     try
     {
         switch (mappedParameters?.ActionId)
         {
         case 0:     // GET %root%{path} ServeFile(string root, string paths, string contentFilePath)
             if (mappedParameters.Mapped.Count == 3)
             {
                 PooledHandler.HandleFor <StaticFilesResource>(context, handler => handler.ServeFile((string)mappedParameters.Mapped[0].Value !, (string)mappedParameters.Mapped[1].Value !, (string)mappedParameters.Mapped[2].Value !));
             }
             else
             {
                 PooledHandler.HandleFor <StaticFilesResource>(context, handler => handler.ServeFile(string.Empty, (string)mappedParameters.Mapped[0].Value !, (string)mappedParameters.Mapped[1].Value !));
             }
             break;
         }
     }
     catch (Exception)
     {
         throw new ArgumentException($"Action mismatch: Request: {context.Request} Parameters: {mappedParameters}");
     }
 }