A generic network layer in iOS with Swift 4 using protocol programming.
This is an easy setup for networking in iOS without any third party framework.
Helps you make GET, POST, DELETE, PUT, etc calls and decode the JSON response to required model type without too much of boilerplate code.