Ejemplo n.º 1
0
        /// <summary>
        /// Configures component by passing configuration parameters.
        /// </summary>
        /// <param name="config">configuration parameters to be set.</param>
        public virtual void Configure(ConfigParams config)
        {
            _config = config.SetDefaults(_defaultConfig);
            _dependencyResolver.Configure(config);

            _serviceName = config.GetAsStringWithDefault("service_name", _serviceName);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Configures component by passing configuration parameters.
        /// </summary>
        /// <param name="config">configuration parameters to be set.</param>
        public virtual void Configure(ConfigParams config)
        {
            _config = config.SetDefaults(_defaultConfig);
            _dependencyResolver.Configure(_config);

            _collectionName = config.GetAsStringWithDefault("collection", _collectionName);
        }
        /// <summary>
        /// Configures this HttpEndpoint using the given configuration parameters.
        ///
        /// __Configuration parameters:__ - __connection(s)__ - the connection resolver's
        /// connections; - "connection.discovery_key" - the key to use for connection
        /// resolving in a discovery service; - "connection.protocol" - the connection's
        /// protocol; - "connection.host" - the target host; - "connection.port" - the
        /// target port; - "connection.uri" - the target URI.
        /// </summary>
        /// <param name="config">configuration parameters, containing a "connection(s)" section.</param>
        /// See <see cref="ConfigParams"/>
        public virtual void Configure(ConfigParams config)
        {
            config = config.SetDefaults(_defaultConfig);
            _dependencyResolver.Configure(config);
            _connectionResolver.Configure(config);

            _maintenanceEnabled  = config.GetAsBooleanWithDefault("options.maintenance_enabled", _maintenanceEnabled);
            _fileMaxSize         = config.GetAsLongWithDefault("options.file_max_size", _fileMaxSize);
            _responseCompression = config.GetAsBooleanWithDefault("options.response_compression", _responseCompression);

            var headers = config.GetAsStringWithDefault("cors_headers", "").Split(',');

            foreach (var header in headers.Where(h => !string.IsNullOrWhiteSpace(h)))
            {
                var h = header.Trim();
                if (!_allowedHeaders.Contains(h))
                {
                    _allowedHeaders.Add(h);
                }
            }

            var origins = config.GetAsStringWithDefault("cors_origins", "").Split(',');

            foreach (var origin in origins.Where(o => !string.IsNullOrWhiteSpace(o)))
            {
                var o = origin.Trim();
                if (!_allowedOrigins.Contains(o))
                {
                    _allowedOrigins.Add(o);
                }
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Configures component by passing configuration parameters.
        /// </summary>
        /// <param name="config">configuration parameters to be set.</param>
        public virtual void Configure(ConfigParams config)
        {
            _config = config.SetDefaults(_defaultConfig);
            _dependencyResolver.Configure(config);

            _baseRoute = config.GetAsStringWithDefault("base_route", _baseRoute);
        }
        /// <summary>
        /// Configures component by passing configuration parameters.
        /// </summary>
        /// <param name="config">configuration parameters to be set.</param>
        public virtual void Configure(ConfigParams config)
        {
            config = config.SetDefaults(_defaultConfig);

            _connectionResolver.Configure(config);

            _options = _options.Override(config.GetSection("options"));
        }
        /// <summary>
        /// Configures component by passing configuration parameters.
        /// </summary>
        /// <param name="config">configuration parameters to be set.</param>
        public virtual void Configure(ConfigParams config)
        {
            _config = config.SetDefaults(_defaultConfig);
            _dependencyResolver.Configure(_config);

            _collectionName = config.GetAsStringWithDefault("collection", _collectionName);
            _maxPageSize    = config.GetAsIntegerWithDefault("options.max_page_size", _maxPageSize);
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Configures component by passing configuration parameters.
        /// </summary>
        /// <param name="config">configuration parameters to be set.</param>
        public virtual void Configure(ConfigParams config)
        {
            config = config.SetDefaults(_defaultConfig);
            _connectionResolver.Configure(config);
            _options = _options.Override(config.GetSection("options"));

            _connectTimeout = config.GetAsIntegerWithDefault("options.connect_timeout", _connectTimeout);
            //_timeout = config.GetAsIntegerWithDefault("options.timeout", _timeout);
        }
Ejemplo n.º 8
0
        private ConfigParams ComposeOptions(List <ConnectionParams> connections, CredentialParams credential)
        {
            credential = credential ?? new CredentialParams();

            // Construct options and copy over credentials
            var options = new ConfigParams().SetDefaults(credential);

            var globalUri  = "";
            var uriBuilder = new StringBuilder();

            // Process connections, find or construct uri
            foreach (var connection in connections)
            {
                options = options.SetDefaults(connection);

                if (globalUri != "")
                {
                    continue;
                }

                var uri = connection.Uri;
                if (!string.IsNullOrEmpty(uri))
                {
                    globalUri = uri;
                    continue;
                }

                if (uriBuilder.Length > 0)
                {
                    uriBuilder.Append(",");
                }

                var protocol = connection.GetProtocolWithDefault("nats");
                uriBuilder.Append(protocol);

                var host = connection.Host;
                uriBuilder.Append("://");
                uriBuilder.Append(host);

                var port = connection.GetAsIntegerWithDefault("port", 4222);
                uriBuilder.Append(":");
                uriBuilder.Append(port.ToString());
            }

            // Set connection uri
            if (globalUri != "")
            {
                options.SetAsObject("uri", globalUri);
            }
            else
            {
                options.SetAsObject("uri", uriBuilder.ToString());
            }

            return(options);
        }
Ejemplo n.º 9
0
        /// <summary>
        /// Configures component by passing configuration parameters.
        /// </summary>
        /// <param name="config">configuration parameters to be set.</param>
        public virtual void Configure(ConfigParams config)
        {
            config = config.SetDefaults(_defaultConfig);
            _connectionResolver.Configure(config);
            _options = _options.Override(config.GetSection("options"));

            _retries = config.GetAsIntegerWithDefault("options.retries", _retries);

            _baseRoute = config.GetAsStringWithDefault("base_route", _baseRoute);
        }
Ejemplo n.º 10
0
        /// <summary>
        /// Configures component by passing configuration parameters.
        /// </summary>
        /// <param name="config">configuration parameters to be set.</param>
        public virtual void Configure(ConfigParams config)
        {
            config = config.SetDefaults(_defaultConfig);

            _connectionResolver.Configure(config);

            _options = _options.Override(config.GetSection("options"));

            _areSessionsSupported = _options.GetAsBooleanWithDefault("sessions_supported", true);
        }
Ejemplo n.º 11
0
        /// <summary>
        /// Configures component by passing configuration parameters.
        /// </summary>
        /// <param name="config">configuration parameters to be set.</param>
        public virtual void Configure(ConfigParams config)
        {
            config = config.SetDefaults(_defaultConfig);

            _connectionResolver.Configure(config);

            _collectionName = config.GetAsStringWithDefault("collection", _collectionName);

            _options = _options.Override(config.GetSection("options"));
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Configures this HttpEndpoint using the given configuration parameters.
        ///
        /// __Configuration parameters:__ - __connection(s)__ - the connection resolver's
        /// connections; - "connection.discovery_key" - the key to use for connection
        /// resolving in a discovery service; - "connection.protocol" - the connection's
        /// protocol; - "connection.host" - the target host; - "connection.port" - the
        /// target port; - "connection.uri" - the target URI.
        /// </summary>
        /// <param name="config">configuration parameters, containing a "connection(s)" section.</param>
        /// See <see cref="ConfigParams"/>
        public virtual void Configure(ConfigParams config)
        {
            config = config.SetDefaults(_defaultConfig);
            _dependencyResolver.Configure(config);
            _connectionResolver.Configure(config);

            _maintenanceEnabled  = config.GetAsBooleanWithDefault("options.maintenance_enabled", _maintenanceEnabled);
            _fileMaxSize         = config.GetAsLongWithDefault("options.file_max_size", _fileMaxSize);
            _responseCompression = config.GetAsBooleanWithDefault("options.response_compression", _responseCompression);
        }
        /// <summary>
        /// Configures component by passing configuration parameters.
        /// </summary>
        /// <param name="config">configuration parameters to be set.</param>
        public virtual void Configure(ConfigParams config)
        {
            _config = config.SetDefaults(_defaultConfig);
            _dependencyResolver.Configure(config);

            _baseRoute = config.GetAsStringWithDefault("base_route", _baseRoute);

            _swaggerEnable = config.GetAsBooleanWithDefault("swagger.enable", _swaggerEnable);
            _swaggerRoute  = config.GetAsStringWithDefault("swagger.route", _swaggerRoute);
        }
Ejemplo n.º 14
0
        /// <summary>
        /// Configures component by passing configuration parameters.
        /// </summary>
        /// <param name="config">configuration parameters to be set.</param>
        public virtual void Configure(ConfigParams config)
        {
            _config  = config.SetDefaults(_defaultConfig);
            _options = _options.Override(_config.GetSection("options"));

            _databaseServer = _config.GetAsNullableString("connection.host");
            _databasePort   = _config.GetAsIntegerWithDefault("connection.port", 1433);
            _sshConfigs     = _sshConfigs.Override(_config.GetSection("ssh"));
            _sshEnabled     = _sshConfigs.GetAsBooleanWithDefault("enabled", false);

            _connectionResolver.Configure(_config);
        }
        /// <summary>
        /// Configure are configures component by passing configuration parameters.
        /// </summary>
        /// <param name="config">Configuration parameters to be set</param>
        public void Configure(ConfigParams config)
        {
            config = config.SetDefaults(_defaultConfig);
            _connectionResolver.Configure(config);
            _logger.Configure(config);

            _options = _options.Override(config.GetSection("options"));

            _clientId         = config.GetAsStringWithDefault("client_id", _clientId);
            _retryConnect     = config.GetAsBooleanWithDefault("options.retry_connect", _retryConnect);
            _connectTimeout   = config.GetAsIntegerWithDefault("options.connect_timeout", _connectTimeout);
            _reconnectTimeout = config.GetAsIntegerWithDefault("options.reconnect_timeout", _reconnectTimeout);
            _keepAliveTimeout = config.GetAsIntegerWithDefault("options.keepalive_timeout", _keepAliveTimeout);
        }
Ejemplo n.º 16
0
        public async Task TestOpenApiOverrideAsync()
        {
            // turn off and override standard swagger document formation
            var config = RestConfig.SetDefaults(ConfigParams.FromTuples("swagger.auto", false));

            DummyCommandableHttpService service = CreateAndOpenService(config);

            try
            {
                var serviceUri = RestConfig.GetAsString("connection.uri");

                using var httpClient = new HttpClient();
                var response = await httpClient.GetAsync($"{serviceUri}/dummy/swagger");

                var openApiContent = await response.Content.ReadAsStringAsync();

                Assert.StartsWith("swagger yaml content from resource", openApiContent);
            }
            finally
            {
                await service.CloseAsync(null);
            }
        }
        private ConfigParams ComposeOptions(List <ConnectionParams> connections, CredentialParams credential)
        {
            credential = credential ?? new CredentialParams();

            // Construct options and copy over credentials
            var options = new ConfigParams().SetDefaults(credential);

            var globalUri      = "";
            var serversBuilder = new StringBuilder();

            // Process connections, find or construct uri
            foreach (var connection in connections)
            {
                options = options.SetDefaults(connection);

                if (globalUri != "")
                {
                    continue;
                }

                var uri = connection.Uri;
                if (!string.IsNullOrEmpty(uri))
                {
                    globalUri = uri;
                    continue;
                }

                if (serversBuilder.Length > 0)
                {
                    serversBuilder.Append(",");
                }

                var host = connection.Host;
                serversBuilder.Append(host);

                var port = connection.GetAsIntegerWithDefault("port", 1883);
                serversBuilder.Append(":");
                serversBuilder.Append(port.ToString());
            }

            // Set connection uri
            if (globalUri != "")
            {
                var pos = globalUri.IndexOf("://");
                if (pos > 0)
                {
                    globalUri = globalUri.Substring(pos + 3);
                }

                pos = globalUri.IndexOf("@");
                if (pos > 0)
                {
                    var userPass = globalUri.Substring(0, pos);
                    globalUri = globalUri.Substring(pos + 1);
                    pos       = userPass.IndexOf(":");
                    if (pos > 0)
                    {
                        var username = userPass.Substring(0, pos);
                        options.SetAsObject("username", username);
                        var password = userPass.Substring(pos + 1);
                        options.SetAsObject("password", password);
                    }
                    else
                    {
                        options.SetAsObject("username", userPass);
                    }
                }

                pos = globalUri.IndexOf("?");
                if (pos > 0)
                {
                    globalUri = globalUri.Substring(0, pos);
                }

                options.SetAsObject("servers", globalUri);
            }
            else
            {
                options.SetAsObject("servers", serversBuilder.ToString());
            }

            return(options);
        }
 /// <summary>
 /// Configures this HttpEndpoint using the given configuration parameters.
 ///
 /// __Configuration parameters:__ - __connection(s)__ - the connection resolver's
 /// connections; - "connection.discovery_key" - the key to use for connection
 /// resolving in a discovery service; - "connection.protocol" - the connection's
 /// protocol; - "connection.host" - the target host; - "connection.port" - the
 /// target port; - "connection.uri" - the target URI.
 /// </summary>
 /// <param name="config">configuration parameters, containing a "connection(s)" section.</param>
 /// See <see cref="ConfigParams"/>
 public virtual void Configure(ConfigParams config)
 {
     config = config.SetDefaults(_defaultConfig);
     _dependencyResolver.Configure(config);
     _connectionResolver.Configure(config);
 }
        /// <summary>
        /// Merges connection options with optional parameters
        /// This method can be overriden in child classes.
        /// </summary>
        /// <param name="options">connection options</param>
        /// <param name="parameters">optional parameters to be merged</param>
        /// <returns>merged connection options.</returns>
        protected ConfigParams MergeOptional(ConfigParams options, ConfigParams parameters)
        {
            var mergedOptions = options.SetDefaults(parameters);

            return(mergedOptions);
        }
        /// <summary>
        /// Merges connection options with connection parameters
        /// This method can be overriden in child classes.
        /// </summary>
        /// <param name="options">connection options</param>
        /// <param name="connection">connection parameters to be merged</param>
        /// <returns>merged connection options.</returns>
        protected ConfigParams MergeConnection(ConfigParams options, ConnectionParams connection)
        {
            var mergedOptions = options.SetDefaults(connection);

            return(mergedOptions);
        }