بدلاً من تعيين مهلة لكل طلب ، هل من الممكن تعيين افتراضي عبر جميع الاتصالات المفتوحة خلال الجلسة؟
يمكن أيضًا تعيين أي خيار يمكن تعديله لكل طلب على نسخة الاتصال التي يمكنك استخدامها لإجراء جميع طلباتك.
conn = Faraday.new("https://api.example.com", request: {
open_timeout: 2, # opening a connection
timeout: 5 # waiting for response
})
conn.get(...)
ممتاز شكرا!
نظرًا لأنني أرى عددًا قليلاً جدًا من الإشارات الصحيحة لهذا في مكان آخر ، فإن إصدار المنشئ لهذا في 0.9.2 هو هذا ، مع كون سمة الخيارات هي الإعدادات الافتراضية لخيار الطلب:
Faraday::Connection.new('https://api.example.com') do |builder|
builder.options[:open_timeout] = 2
builder.options[:timeout] = 5
builder.adapter Faraday.default_adapter
end
يشرح كلا المثالين كيفية التعيين لكل طلب ، كيف يمكنني التعيين عالميًا؟
neohunter ، المثال أعلاه على تعيينه لكل طلب يتم إجراؤه من هذا الاتصال. لا يدعم Faraday حاليًا إعدادًا عالميًا لجميع الاتصالات ، ولكن لا ينبغي أن يكون ذلك ضروريًا حقًا لأن عدد الاتصالات التي تديرها يجب أن يكون عددًا قليلاً (في الواقع ، واحد فقط في معظم الحالات).
التعليق الأكثر فائدة
نظرًا لأنني أرى عددًا قليلاً جدًا من الإشارات الصحيحة لهذا في مكان آخر ، فإن إصدار المنشئ لهذا في 0.9.2 هو هذا ، مع كون سمة الخيارات هي الإعدادات الافتراضية لخيار الطلب: