Before submitting any other modification, I'd like to have some feedback on the different options that we have:

Check the code that introduces a factory for RequestHeader at:
https://github.com/yanns/Play20/commit/9b22b0e06e9281a22675eb39b4a762908a70e6e7

My concerns is that the apply method constructs an instance with only by-value properties.
It make this factory not suitable for PlayDefaultUpstreamHandler for example, as the latter one uses some methods (like def method = nettyHttpRequest.getMethod.getName)

And if I use functions as parameters, we lose the micro-optimization used by the copy() function.

Another solution is to rely only on the integration tests you linked to, and to remove the unit test. But I personaly quite like the unit test as it provides a quick feedback.