This works in some cases: first, save the request body in a variable in the listener onBeforeRequest. Then in onBeforeSendHeadersyou can either cancel or redirect the original request (sorry, Chrome gives you only two options for working with the original). Also in onBeforeSendHeadersyou issue a new query (say, jquery ajax) to which you attach the old body from the variable, and the old headers - both of which can be changed / rewritten as needed. (Minor catch: it will not allow you to set all the headers for "security reasons", so you can add another listener onBeforeSendHeadersto add sensitive headers to the new request).
, . , , , .