Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Globalization;
- using Nancy;
- using Nancy.Bootstrapper;
- using Nancy.Conventions;
- using Nancy.Culture;
- using Nancy.Diagnostics;
- using Nancy.ErrorHandling;
- using Nancy.Hosting.Aspnet;
- using Nancy.Localization;
- using Nancy.ModelBinding;
- using Nancy.Responses.Negotiation;
- using Nancy.Routing;
- using Nancy.Routing.Constraints;
- using Nancy.Routing.Trie;
- using Nancy.Validation;
- using Nancy.ViewEngines;
- namespace DumbassBootstrapper
- {
- /// <summary>
- /// Lowest common denominator bootstrapper with no container
- /// </summary>
- public class Dumbo : INancyBootstrapper, INancyModuleCatalog
- {
- public void Dispose()
- {
- }
- public void Initialise()
- {
- }
- public INancyEngine GetEngine()
- {
- var engine = new NancyEngine(new DefaultRequestDispatcher(new DefaultRouteResolver(this, new DefaultNancyModuleBuilder(new DefaultViewFactory(new DefaultViewResolver(new DefaultViewLocator(new FileSystemViewLocationProvider(new AspNetRootPathProvider()),new List<IViewEngine>() ),new ViewLocationConventions(new List<Func<string, object, ViewLocationContext, string>>()) ),new List<IViewEngine>(),new DefaultRenderContextFactory(new DefaultViewCache(), new DefaultViewResolver(new DefaultViewLocator(new FileSystemViewLocationProvider(new AspNetRootPathProvider()),new List<IViewEngine>() ),new ViewLocationConventions(new List<Func<string, object, ViewLocationContext, string>>()) ),new ResourceBasedTextResource(new ResourceAssemblyProvider()) ),new ViewLocationConventions(new List<Func<string, object, ViewLocationContext, string>>()),new AspNetRootPathProvider() ),new DefaultResponseFormatterFactory(new AspNetRootPathProvider(), new List<ISerializer>()), new DefaultModelBinderLocator(new List<IModelBinder>(),new DefaultBinder(new List<ITypeConverter>(),new List<IBodyDeserializer>(),new DefaultFieldNameConverter(), new BindingDefaults()) ),new DefaultValidatorLocator(new List<IModelValidatorFactory>()) ),new RouteCache(this, new DefaultNancyContextFactory(new DefaultCultureService(new CultureConventions(new List<Func<NancyContext, CultureInfo>>())), new DefaultRequestTraceFactory(), new ResourceBasedTextResource(new ResourceAssemblyProvider())), new DefaultRouteSegmentExtractor(), new DefaultRouteDescriptionProvider(), new DefaultCultureService(new CultureConventions(new List<Func<NancyContext, CultureInfo>>())),new List<IRouteMetadataProvider>() ),new RouteResolverTrie(new TrieNodeFactory(new List<IRouteSegmentConstraint>())) ),new List<IResponseProcessor>(), new DefaultRouteInvoker(new DefaultResponseNegotiator(new List<IResponseProcessor>(),new AcceptHeaderCoercionConventions(new List<Func<IEnumerable<Tuple<string, decimal>>, NancyContext, IEnumerable<Tuple<string, decimal>>>>()) )),new DefaultResponseNegotiator(new List<IResponseProcessor>(), new AcceptHeaderCoercionConventions(new List<Func<IEnumerable<Tuple<string, decimal>>, NancyContext, IEnumerable<Tuple<string, decimal>>>>())) ),new DefaultNancyContextFactory(new DefaultCultureService(new CultureConventions(new List<Func<NancyContext, CultureInfo>>())), new DefaultRequestTraceFactory(), new ResourceBasedTextResource(new ResourceAssemblyProvider())), new List<IStatusCodeHandler>(),new DefaultRequestTracing(), new DefaultStaticContentProvider(new AspNetRootPathProvider(), new StaticContentsConventions(new List<Func<NancyContext, string, Response>>())),new DefaultResponseNegotiator(new List<IResponseProcessor>(), new AcceptHeaderCoercionConventions(new List<Func<IEnumerable<Tuple<string, decimal>>, NancyContext, IEnumerable<Tuple<string, decimal>>>>())))
- {
- RequestPipelinesFactory = RequestPipelinesFactory
- };
- return engine;
- }
- private IPipelines RequestPipelinesFactory(NancyContext nancyContext)
- {
- return new Pipelines();
- }
- public IEnumerable<INancyModule> GetAllModules(NancyContext context)
- {
- return new[] {new MyModule()};
- }
- public INancyModule GetModule(Type moduleType, NancyContext context)
- {
- if (moduleType == typeof(MyModule))
- {
- return new MyModule();
- }
- throw new InvalidOperationException("No module found!");
- }
- }
- public class MyModule : NancyModule
- {
- public MyModule()
- {
- Get["/"] = _ => "Hello!";
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement