Adding port to header host

Dear All,
I would like to add port to the incoming Host request header if that not included it.
I think I have managed to solve the problem in the way mentioned below. I just would like to ask for the experienced veterans is there any problem with this solution or is there any easier one?

acl port_exists req.fhdr(Host) -m sub “:”
http-request set-var(req.h_host) req.fhdr(Host),lower
http-request set-header Host %[var(req.h_host)]:%[dst_port] if !port_exists

Thank you very much!