self.for

in lib/openai/errors.rb [123:154]


      def self.for(url:, status:, body:, request:, response:, message: nil)
        kwargs = {
          url: url,
          status: status,
          body: body,
          request: request,
          response: response,
          message: message
        }

        case status
        in 400
          OpenAI::Errors::BadRequestError.new(**kwargs)
        in 401
          OpenAI::Errors::AuthenticationError.new(**kwargs)
        in 403
          OpenAI::Errors::PermissionDeniedError.new(**kwargs)
        in 404
          OpenAI::Errors::NotFoundError.new(**kwargs)
        in 409
          OpenAI::Errors::ConflictError.new(**kwargs)
        in 422
          OpenAI::Errors::UnprocessableEntityError.new(**kwargs)
        in 429
          OpenAI::Errors::RateLimitError.new(**kwargs)
        in (500..)
          OpenAI::Errors::InternalServerError.new(**kwargs)
        else
          OpenAI::Errors::APIStatusError.new(**kwargs)
        end
      end