Dodawanie nagłówków HttpClient generuje wyjątek FormatException z pewnymi wartościami
Stało się to w kontekście kodowania w Google Cloud Messaging, ale dotyczy to gdzie indziej.
Rozważ następujące:
var http = new HttpClient();
http.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("key=XXX");
i
var http = new HttpClient();
http.DefaultRequestHeaders.Add("Authorization", "key=XXX");
obydwa generują wyjątek FormatException:
System.FormatException: format klucza wartości = XXX 'jest nieprawidłowy.
Rozwiązaniem jest usunięcie znaku równości.
Kopanie do reflektora pokazuje, że jest mnóstwo walidacji i kodu parsowania, który działa podczas dodawania nowej wartości nagłówka. Dlaczego to wszystko jest konieczne? Czy ten klient nie powinien po prostu zejść nam z drogi?
Jak uniknąć znaku równości, aby dodać tę wartość?