def response(self, code, xml, force_list=None):
        """Cria um dicionário com os dados de retorno da requisição HTTP ou
            lança uma exceção correspondente ao erro ocorrido.

        Se a requisição HTTP retornar o código 200 então este método retorna o
            dicionário com os dados da resposta.
        Se a requisição HTTP retornar um código diferente de 200 então este método
            lança uma exceção correspondente ao erro.

        Todas as exceções lançadas por este método deverão herdar de NetworkAPIClientError.

        :param code: Código de retorno da requisição HTTP.
        :param xml: XML ou descrição (corpo) da resposta HTTP.
        :param force_list: Lista com as tags do XML de resposta que deverão ser transformadas
            obrigatoriamente em uma lista no dicionário de resposta.

        :return: Dicionário com os dados da resposta HTTP retornada pela networkAPI.
        """
        if int(code) == 200:
            # Retorna o map
            return loads(xml, force_list)['networkapi']
        elif int(code) == 500:
            code, description = self.get_error(xml)
            return ErrorHandler.handle(code, description)
        else:
            return ErrorHandler.handle(code, xml)
    def response(self, code, xml, force_list=None):
        """Cria um dicionário com os dados de retorno da requisição HTTP ou
            lança uma exceção correspondente ao erro ocorrido.

        Se a requisição HTTP retornar o código 200 então este método retorna o
            dicionário com os dados da resposta.
        Se a requisição HTTP retornar um código diferente de 200 então este método
            lança uma exceção correspondente ao erro.

        Todas as exceções lançadas por este método deverão herdar de NetworkAPIClientError.

        :param code: Código de retorno da requisição HTTP.
        :param xml: XML ou descrição (corpo) da resposta HTTP.
        :param force_list: Lista com as tags do XML de resposta que deverão ser transformadas
            obrigatoriamente em uma lista no dicionário de resposta.

        :return: Dicionário com os dados da resposta HTTP retornada pela networkAPI.
        """
        if int(code) == 200:
            # Retorna o map
            return loads(xml, force_list)['networkapi']
        elif int(code) == 500:
            code, description = self.get_error(xml)
            return ErrorHandler.handle(code, description)
        else:
            return ErrorHandler.handle(code, xml)
    def submit(self, map, method, postfix):
        '''Realiza um requisição HTTP para a networkAPI.

        :param map: Dicionário com os dados para gerar o XML enviado no corpo da requisição HTTP.
        :param method: Método da requisição HTTP ('GET', 'POST', 'PUT' ou 'DELETE').
        :param postfix: Posfixo a ser colocado na URL básica de acesso à networkAPI. Ex: /ambiente

        :return: Tupla com o código e o corpo da resposta HTTP:
            (< codigo>, < descricao>)

        :raise NetworkAPIClientError: Erro durante a chamada HTTP para acesso à networkAPI.
        '''
        try:
            rest_request = RestRequest(self.get_url(postfix), method,
                                       self.user, self.password,
                                       self.user_ldap)
            return rest_request.submit(map)
        except RestError as e:
            raise ErrorHandler.handle(None, str(e))
    def submit(self, map, method, postfix):
        '''Realiza um requisição HTTP para a networkAPI.

        :param map: Dicionário com os dados para gerar o XML enviado no corpo da requisição HTTP.
        :param method: Método da requisição HTTP ('GET', 'POST', 'PUT' ou 'DELETE').
        :param postfix: Posfixo a ser colocado na URL básica de acesso à networkAPI. Ex: /ambiente

        :return: Tupla com o código e o corpo da resposta HTTP:
            (< codigo>, < descricao>)

        :raise NetworkAPIClientError: Erro durante a chamada HTTP para acesso à networkAPI.
        '''
        try:
            rest_request = RestRequest(
                self.get_url(postfix),
                method,
                self.user,
                self.password,
                self.user_ldap)
            return rest_request.submit(map)
        except RestError as e:
            raise ErrorHandler.handle(None, str(e))