register method

  1. @override
void register(
  1. Container container
)
override

Register services with the container.

This method is called when the provider is registered with the container. Use this method to register bindings, instances, and aliases.

Implementation

@override
void register(Container container) {
  if (!container.has<Config>() || !container.has<EngineConfig>()) {
    return;
  }
  final appConfig = container.get<Config>();
  final engineConfig = container.get<EngineConfig>();
  final resolved = spec.resolve(
    appConfig,
    context: UploadsConfigContext(
      config: appConfig,
      engineConfig: engineConfig,
    ),
  );

  if (_multipartEquals(engineConfig.multipart, resolved)) {
    return;
  }
  if (container.has<Engine>()) {
    final engine = container.get<Engine>();
    _applyMultipartConfig(engine, appConfig);
  } else {
    container.instance<EngineConfig>(
      engineConfig.copyWith(multipart: resolved),
    );
  }
}