To start things off, there are no functions to change these http headers, which already seems ridiculous. I'm attempting to craft an unfingerprintable browser, and the first step was to modify the user agent. This was easily exposed via a webkit api. Next, http headers. After a lot of research I found out that webkit utilized a library called libsoup, and I would have to pull each request with a signal and manually modify it, instead of simply changing the default headers. But I went along with it. I attempted to catch resource-load-starting and resource-load-started, but while I could temporarily change the http headers, and according to libsoup they had truly changed, when testing it by loading up various websites that tell you your http headers, they did not change.
For the record, I was modifying the "accept" header using soup_message_headers_remove(); Next, I attempted to build a WebExtension, a whole separate library, simply to change the header. I was catching the send-request symbol. But still, modifying the accept header did not show any change. So now I'm wondering, is this even possible? Do the creators of WebKit simply not allow you to change this atrocious outdated header? I've seen people do work arounds on software containing webkit, but no solutions work for webkit2, at least for me. Perhaps there is an easier api to expose these headers or change the things they present to the websites, such as changing the xml accept through a webkit api? Any suggestions would be appreciated.