configure method

  1. @override
void configure(
  1. ConfigParams config
)

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.
    • 'credential.ssl_key_file' - SSL private key in PEM
    • 'credential.ssl_crt_file' - SSL certificate in PEM
    • 'credential.ssl_ca_file' - Certificate authority (root certificate) in PEM
  • config configuration parameters, containing a 'connection(s)' section.

See ConfigParams (in the PipServices 'Commons' package)

Implementation

@override
void configure(ConfigParams config) {
  config = config.setDefaults(HttpEndpoint._defaultConfig);
  _connectionResolver.configure(config);

  _maintenanceEnabled = config.getAsBooleanWithDefault(
      'options.maintenance_enabled', _maintenanceEnabled);
  _fileMaxSize =
      config.getAsLongWithDefault('options.file_max_size', _fileMaxSize);
  _protocolUpgradeEnabled = config.getAsBooleanWithDefault(
      'options.protocol_upgrade_enabled', _protocolUpgradeEnabled);

  var headers = config.getAsStringWithDefault('cors_headers', '').split(',');
  for (var header in headers) {
    header = header.trim();
    if (header != '') {
      _allowedHeaders = _allowedHeaders.where((h) => h != header).toList();
      _allowedHeaders.add(header);
    }
  }

  var origins = config.getAsStringWithDefault('cors_origins', '').split(',');
  for (var origin in origins) {
    origin = origin.trim();
    if (origin != '') {
      _allowedOrigins = _allowedOrigins.where((h) => h != origin).toList();
      _allowedOrigins.add(origin);
    }
  }
}