'Parses nginx config files recursively by looking at \'include\'
directives inside \'http\' and \'server\' blocks. Note that this only
reads Nginx files that potentially declare a virtual host.
:param str filepath: The path to the files to parse, as a glob'

def _parse_recursively(self, filepath):

    filepath = self.abs_path(filepath)
    trees = self._parse_files(filepath)
    for tree in trees:
        for entry in tree:
            if _is_include_directive(entry):
                self._parse_recursively(entry[1])
            elif ((entry[0] == ['http']) or (entry[0] == ['server'])):
                for subentry in entry[1]:
                    if _is_include_directive(subentry):
                        self._parse_recursively(subentry[1])
                    elif ((entry[0] == ['http']) and (subentry[0] == ['server'])):
                        for server_entry in subentry[1]:
                            if _is_include_directive(server_entry):
                                self._parse_recursively(server_entry[1])
