I don't think returning here is correct. What if you have two blocks with the same path but different hosts defined? Then the first block will match the path, not find the host and return, while it should continue to the next blocks. I think using `continue` would be better.