Currently, we do something like
client.send(
'body_request',
Net::HTTP::Post,
hmac.url_params[:path] + '?' + hmac.url_params[:query],
bulk_copy_params)
But we should consider changing that to:
hmac_params_hash = Hash[cgi_string.map {|key,values| [key.to_sym, values[0]||true]}]
client.send(
'body_request',
Net::HTTP::Post,
hmac.url_params[:path],
params.merge(hmac_params_hash))
because with a lot of revisions, we get a Metis-side error:
"-//IETF//DTD HTML 2.0//EN"> (Etna::Error)
<html><head>
<title>414 Request-URI Too Long</title>
</head><body>
<h1>Request-URI Too Long</h1>
<p>The requested URL's length exceeds the capacity
limit for this server.<br />
</p>
</body></html>
This is because the Etna::Hmac library puts a copy of all the extra headers passed in into hmac.url_params[:query] into new values, like X-Etna-Revisions ... which gets long.
Currently, we do something like
But we should consider changing that to:
because with a lot of revisions, we get a Metis-side error:
This is because the
Etna::Hmaclibrary puts a copy of all the extra headers passed in intohmac.url_params[:query]into new values, likeX-Etna-Revisions... which gets long.