go net/http extension with middleware