PassThroughCode refactoring and create PassThrough Core and API for enhace reusability

In addition to that, I'm pretty sure there's already some constant defined for the literal "HTTP" somewhere within the code-base. Why don't we use it here as well?