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); } }
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); } }
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); } }
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}"); } }