public PhpHandlerMiddleware(RequestDelegate next, IHostingEnvironment hostingEnv, PhpRequestOptions options) { if (hostingEnv == null) { throw new ArgumentNullException(nameof(hostingEnv)); } _next = next ?? throw new ArgumentNullException(nameof(next)); _options = options; // determine Root Path: _rootPath = hostingEnv.GetDefaultRootPath(); if (!string.IsNullOrEmpty(options.RootPath)) { _rootPath = Path.GetFullPath(Path.Combine(_rootPath, options.RootPath)); // use the root path option, relative to the ASP.NET Core Web Root } _rootPath = NormalizeRootPath(_rootPath); // // TODO: pass hostingEnv.ContentRootFileProvider to the Context for file system functions // sideload script assemblies LoadScriptAssemblies(options); }
public PhpHandlerMiddleware(RequestDelegate next, IHostingEnvironment hostingEnv, IServiceProvider services, PhpRequestOptions oldoptions = null) { if (hostingEnv == null) { throw new ArgumentNullException(nameof(hostingEnv)); } _next = next ?? throw new ArgumentNullException(nameof(next)); _rootPath = hostingEnv.GetDefaultRootPath(); _options = new PhpOptions(Context.DefaultPhpConfigurationService.Instance) { RootPath = _rootPath, }; // configure global options: ConfigureOptions(_options, oldoptions); ConfigureOptions(_options, services); // determine resulting root Path: if (_options.RootPath != default && _options.RootPath != _rootPath) { // use the root path option, relative to the ASP.NET Core Web Root _rootPath = Path.GetFullPath(Path.Combine(_rootPath, _options.RootPath)); } // normalize slashes _rootPath = NormalizeRootPath(_rootPath); // TODO: pass hostingEnv.ContentRootFileProvider to the Context for file system functions // sideload script assemblies LoadScriptAssemblies(_options); }
public PhpHandlerMiddleware(RequestDelegate next, IHostingEnvironment hostingEnv, IServiceProvider services, PhpHandlerConfiguration configuration) { if (hostingEnv == null) { throw new ArgumentNullException(nameof(hostingEnv)); } if (configuration == null) { throw new ArgumentNullException(nameof(configuration)); } _next = next ?? throw new ArgumentNullException(nameof(next)); _rootPath = hostingEnv.GetDefaultRootPath(); _options = new PhpOptions(Context.DefaultPhpConfigurationService.Instance) { RootPath = _rootPath, }; _prefix = configuration.PathPrefix; if (_prefix.Value == "/") { _prefix = PathString.Empty; } // legacy options ConfigureOptions(_options, configuration.LegacyOptions); // sideload script assemblies LoadScriptAssemblies(_options); // global options ConfigureOptions(_options, services); // local options if (configuration.ConfigureContext != null) { _options.RequestStart += configuration.ConfigureContext; } // determine application's root path: if (_options.RootPath != default && _options.RootPath != _rootPath) { // use the root path option, relative to the ASP.NET Core Web Root _rootPath = Path.GetFullPath(Path.Combine(_rootPath, _options.RootPath)); } if (configuration.RootPath != null && configuration.RootPath != _rootPath) { _rootPath = Path.GetFullPath(Path.Combine(_rootPath, configuration.RootPath)); } // normalize slashes _rootPath = NormalizeRootPath(_rootPath); // setup logger ConfigureLogger(_options, services.GetService <ILoggerFactory>()); // TODO: pass hostingEnv.ContentRootFileProvider to the Context for file system functions }