Provides read-only access to Headers and Cookies objects instead of public access

Instead of making Headers and Cookies objects publicly accessible, uses __get magic method to provide read only access to them.

This prevents accidental replace of the said objects, while keeping the desired functionality and backwards compatibility.