Rails tests: Content-Length header before sending it
Here is a quick and easy way to estimate the content-length of a request from the params being sent.
I needed to do this recently in a Rails test.
require 'rack'
params = { mike: true }
params_string = Rack::Utils.build_nested_query(params)
content_length = params_string.length
puts content_length
# 9Keep in mind, the actual content-length could end up slightly larger depending on what else is being sent in the request.
If you're only needing to know the size of the params argument, then this method takes care of it for you.