Sha256: 6020c2091fe284de76631b68ba82600371b44450c71ea8936d90697810e5f9cc

Contents?: true

Size: 1.72 KB

Versions: 6

Compression:

Stored size: 1.72 KB

Contents

module HTTPX
  module Plugins
    module Retries
      MAX_RETRIES: Integer
      IDEMPOTENT_METHODS: Array[String]
      RETRYABLE_ERRORS: Array[singleton(StandardError)]
      DEFAULT_JITTER: ^(Numeric) -> Numeric

      interface _RetryCallback
        def call: (response response) -> bool?
      end

      interface _RetriesOptions
        def retry_after: () -> Numeric?

        def retry_jitter: () -> ^(Numeric jitter) -> Numeric

        def max_retries: () -> Integer

        def retry_change_requests: () -> boolish

        def retry_on: () -> _RetryCallback?
      end

      def self.extra_options: (Options options) -> retriesOptions

      module InstanceMethods
        def max_retries: (int) -> instance

        private

        def fetch_response: (retriesRequest request, Array[Connection] connections, retriesOptions options) -> (retriesResponse | ErrorResponse)?

        def __repeatable_request?: (retriesRequest request, retriesOptions options) -> boolish

        def __retryable_error?: (_Exception error) -> bool

        def __try_partial_retry: (retriesRequest request, (retriesResponse | ErrorResponse) response) -> void

      end

      module RequestMethods
        @options: Options & _RetriesOptions

        attr_accessor retries: Integer

        attr_writer partial_response: Response?

        def response=: (retriesResponse | ErrorResponse response) -> void
      end

      module ResponseMethods
        def from_partial_response: (Response response) -> void
      end

      type retriesOptions = Options & _RetriesOptions

      type retriesRequest = Request & RequestMethods

      type retriesResponse = Response & ResponseMethods
    end

    type sessionRetries = Session & Retries::InstanceMethods
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
httpx-1.3.4 sig/plugins/retries.rbs
httpx-1.3.3 sig/plugins/retries.rbs
httpx-1.3.2 sig/plugins/retries.rbs
httpx-1.3.1 sig/plugins/retries.rbs
httpx-1.3.0 sig/plugins/retries.rbs
httpx-1.2.6 sig/plugins/retries.rbs