Tôi đang cố gắng định cấu hình Alamofire để theo dõi chuyển hướng (hoặc không) trên cơ sở theo yêu cầu.Alamofire: Thực hiện theo các chuyển hướng HTTP (hoặc không)
Alamofire có lớp nội bộ riêng SessionDelegate
đóng vai trò là NSURLSessionTaskDelegate
cho phiên URL hiện tại. SessionDelegate
thực hiện phương thức ủy nhiệm có liên quan, URLSession(session:, task:, willPerformHTTPRedirection response:, request:, completionHandler:)
, đó chính xác là những gì tôi muốn.
Thậm chí tốt hơn, việc thực hiện của đại biểu tham vấn một biến đóng tùy chỉnh có tên taskWillPerformHTTPRedirection
để xác định cách xử lý chuyển hướng - một lần nữa, chính xác những gì tôi muốn!
Và theo như tôi có thể nói, đóng cửa đó luôn là nil
theo mặc định - nó không được gán cho nội bộ bởi Alamofire - điều này cho thấy người dùng chỉ định đóng cửa cho nó.
Sự cố: Tôi không thể truy cập lớp học riêng tư SessionDelegate
này để chỉ định đóng cửa cho biến số taskWillPerformHTTPRedirection
của mình. Nó là một lớp riêng và nó không hiển thị với các tệp Swift của tôi. Các phương tiện thích hợp để cấu hình yêu cầu Alamofire là gì (không) theo các chuyển hướng?
Alamofire như AFnetworking tôn trọng các tiêu chuẩn HTTP. vì vậy tôi giả sử nó tự động theo dõi chuyển hướng. Tôi biết vì tôi đã thay đổi tên miền trước và ứng dụng sẽ theo dõi chuyển hướng mà không gặp vấn đề gì. – eddwinpaz
AFNetworking có thể được định cấu hình để không theo dõi chuyển hướng. Alamofire chắc chắn có nền tảng để làm như vậy. –
Như Alamofire không phải là nhiều mã và là thư viện khá trẻ, tôi sẽ chỉ cần ngã ba thư viện và thực hiện các chức năng bản thân mình bằng cách sử dụng taskWillPerformHTTPRedirection khi bạn phát hiện chính xác. Sau đó, chỉ cần gửi một PR. Dường như @mattt đặt các móc đó tại chỗ ngay từ đầu ngay cả khi chúng chưa được sử dụng bởi API công cộng Alamofire. –