Exemplo n.º 1
0
    def handle(self):
        cluster_id = self.request.input.get('cluster_id')

        include = aslist(self.request.input.include, ',')
        exclude = aslist(self.request.input.exclude, ',')

        include = [elem for elem in include if elem]
        exclude = [elem for elem in exclude if elem]

        if not self.request.input.get('return_internal'):
            if 'zato.*' not in exclude:
                exclude.append('zato.*')

        if cluster_id and cluster_id != self.server.cluster_id:
            raise ValueError('Input cluster ID `%s` different than ours `%s`',
                             cluster_id, self.server.cluster_id)

        # Default to Sphinx output unless explicitly overridden
        if isinstance(self.request.input.needs_sphinx, bool):
            needs_sphinx = self.request.input.needs_sphinx
        else:
            needs_sphinx = True

        data = Generator(self.server.service_store.services,
                         self.server.sio_config, include, exclude,
                         self.request.input.query).get_info()

        if needs_sphinx:
            out = self.invoke(GetSphinx.get_name(), {'data': data})
        else:
            out = data

        self.response.payload = dumps(out)
Exemplo n.º 2
0
    def handle(self):
        cluster_id = self.request.input.get('cluster_id')

        include = aslist(self.request.input.include, ',')
        exclude = aslist(self.request.input.exclude, ',')

        if self.request.input.get('return_internal'):
            if 'zato.*' not in exclude:
                exclude.append('zato.*')

        if cluster_id and cluster_id != self.server.cluster_id:
            raise ValueError('Input cluster ID `%s` different than ours `%s`',
                             cluster_id, self.server.cluster_id)

        data = Generator(self.server.service_store.services,
                         self.server.sio_config, include, exclude,
                         self.request.input.query).get_info()

        out = self.invoke(GetSphinx.get_name(), {'data': data})

        self.response.payload = dumps(out)