FSharp.Datan HTTP-työkalut tarjoavat customizeHttpRequest-parametrin. Se vastaanottaa taustalla olevan HttpWebRequest-pyynnön ja palauttaa käytettävän pyynnön:

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
    )

Takaisinkutsufunktio asettaa välityspalvelimen tähän pyyntöön. Tässä julkisessa HTTPS-pyynnössä todennusmenetelmätön ehdokas HTTP-välityspalvelinluettelosta voi korvata esimerkkipäätepisteen, kun kyseinen reitti on sallittu. Sen viimeinen lauseke palauttaa pyyntöobjektin, mikä vastaa dokumentoitua funktiotyyppiä HttpWebRequest -> HttpWebRequest.

Sama mukautusparametri on käytettävissä myös vastaavissa yksityiskohtaisissa ja asynkronisissa HTTP-metodeissa. Pidä takaisinkutsu sen kutsun tai uudelleenkäytettävän apufunktion yhteydessä, joka tätä reittiä tarvitsee. Muu sovellus voi jatkaa oman pyyntöasetuksensa käyttöä.

Aiheeseen liittyvät artikkelit