# File lib/rfuzz/client.rb, line 230
230:     def build_request(out, method, uri, req)
231:       ops = @options.merge(req)
232:       query = ops[:query]
233: 
234:       # merge head differently since that's typically what they mean
235:       head = req[:head] || {}
236:       head = ops[:head].merge(head) if ops[:head]
237: 
238:       # setup basic headers we always need
239:       head[REQ_HOST] = encode_host(@host,@port)
240:       head[REQ_CONTENT_LENGTH] = ops[:body] ? ops[:body].length : 0
241: 
242:       # blast it out
243:       out.write(HTTP_REQUEST_HEADER % [method, encode_query(uri,query)])
244:       out.write(encode_headers(head))
245:       out.write(encode_cookies(@cookies.merge(req[:cookies] || {})))
246:       out.write("\r\n")
247:       ops[:body] || ""
248:     end