# encoding: utf-8
module ProxyTester
  module ErrorMessages

    ErrorHandler.create(
      exception: Exceptions::DefaultError,
      summary: 'errors.default.summary',
      details: 'errors.default.details',
      exit_code: 99,
    )

    ErrorHandler.create(
      exception: Exceptions::InternalError,
      details: 'errors.internal_error.details',
      summary: 'errors.internal_error.summary',
      exit_code: 1,
    )
    
    ErrorHandler.create(
      exception: Exceptions::ConfigFileNotReadable,
      details: 'errors.unreadable_config_file.details',
      summary: 'errors.unreadable_config_file.summary',
      exit_code: 2,
    )

    ErrorHandler.create(
      exception: Exceptions::UserError,
      details: 'errors.user_error.details',
      summary: 'errors.user_error.summary',
      exit_code: 3,
    )

    ErrorHandler.create(
      exception: Exceptions::UserRecordInvalid,
      details: 'errors.invalid_user_record.details',
      summary: 'errors.invalid_user_record.summary',
      exit_code: 4,
    )

    ErrorHandler.create(
      exception: Exceptions::UserFileNotFound,
      details: 'errors.unreadable_user_file.details',
      summary: 'errors.unreadable_user_file.summary',
      exit_code: 5,
    )

    ErrorHandler.create(
      exception: Exceptions::FetchUrlTimeout,
      details: 'errors.request_timeout.details',
      summary: 'errors.request_timeout.summary',
      exit_code: 6,
    )

    ErrorHandler.create(
      exception: Exceptions::SyntaxInvalid,
      details: 'errors.invalid_syntax.details',
      summary: 'errors.invalid_syntax.summary',
      exit_code: 7,
    )

    ErrorHandler.create(
      exception: Exceptions::PacFileNotFound,
      details: 'errors.not_found_pac_file.details',
      summary: 'errors.not_found_pac_file.summary',
      exit_code: 8,
    )

    ErrorHandler.create(
      exception: Exceptions::PacResultInvalid,
      details: 'errors.invalid_pac_result.details',
      summary: 'errors.invalid_pac_result.summary',
      exit_code: 9,
    )

    ErrorHandler.create(
      exception: Exceptions::ProxyTypeInvalid,
      details: 'errors.invalid_proxy_type.details',
      summary: 'errors.invalid_proxy_type.summary',
      exit_code: 10,
    )

    ErrorHandler.create(
      exception: Exceptions::ProxyConnectionStringInvalid,
      details: 'errors.invalid_proxy_connection_string.details',
      summary: 'errors.invalid_proxy_connection_string.summary',
      exit_code: 11,
    )

    ErrorHandler.create(
      exception: Interrupt,
      details: 'errors.sigint.details',
      summary: 'errors.sigint.summary',
      exit_code: 12,
    )

    ErrorHandler.create(
      exception: Exceptions::SIGTERM,
      details: 'errors.sigterm.details',
      summary: 'errors.sigterm.summary',
      exit_code: 13,
    )

    ErrorHandler.create(
      exception: Exceptions::ProxyNotReachable,
      details: 'errors.unreachable_proxy.details',
      summary: 'errors.unreachable_proxy.summary',
      exit_code: 14,
    )

    ErrorHandler.create(
      exception: Exceptions::RepositoryDoesNotExist,
      details: 'errors.unexisting_repository.details',
      summary: 'errors.unexisting_repository.summary',
      exit_code: 15,
    )

    ErrorHandler.create(
      exception: Exceptions::RepositoryInvalid,
      details: 'errors.invalid_repository.details',
      summary: 'errors.invalid_repository.summary',
      exit_code: 16,
    )
  end
end