HTTP-утиліти FSharp.Data надають параметр customizeHttpRequest. Він приймає базовий HttpWebRequest і повертає запит, який потрібно використовувати:

open System.Net
open FSharp.Data

let body =
    Http.RequestString(
        "https://example.net/data",
        customizeHttpRequest = fun request ->
            request.Proxy <- WebProxy("http://proxy.example.net:8080")
            request
    )

Функція зворотного виклику задає проксі для цього запиту. Для цього публічного HTTPS-запиту неавтентифікований кандидат зі списку HTTP-проксі може замінити приклад кінцевої точки, якщо цей маршрут дозволено. Її останній вираз повертає об'єкт запиту, що відповідає документованому типу функції HttpWebRequest -> HttpWebRequest.

Той самий параметр налаштування доступний і у відповідних докладних та асинхронних методах HTTP. Тримайте функцію зворотного виклику поруч із викликом або багаторазовим помічником, якому потрібен цей маршрут. Решта застосунку може й далі використовувати власну конфігурацію запитів.

Схожі статті