Exemple #1
0
def get(keys, on_updates, on_error=None, hash=None):
    errback = on_error or make_errback()
    get_helper(url=get_updates_url(keys, hash),
               on_response=partial(_handle_updates,
                                   on_updates=on_updates,
                                   on_error=errback),
               on_error=on_error)
Exemple #2
0
def register(pub_key, on_uid, on_error=None):
    errback = on_error or make_errback()
    try:

        def handle_response(response):
            if response.code == 200:
                callback = partial(
                    _handle_register,
                    on_uid=on_uid,
                    on_error=errback)
                response.deliverBody(JsonReceiver.create(callback, errback))
            else:
                print('error %d %s -- register' % (response.code, response.phrase))
                errback('returned %s' % response.code, code=response.code)

        agent = Agent(reactor)
        d = agent.request(
            'POST',
            endpoint('register'),
            bodyProducer=JsonProducer({'pub_key': pub_key}))
        d.addCallbacks(handle_response, errback)
    except Exception as ex:
        print('error %s -- register' % ex)
        if on_error:
            errback('error %s -- register' % ex)
        else:
            errback('error %s' % ex, 'register')
Exemple #3
0
def login(user_id, on_token, on_error=None):
    errback = on_error or make_errback()
    try:
        def handle_response(response):
            if response.code == 200:
                callback = partial(
                    _handle_login,
                    on_token=on_token,
                    on_error=errback)
                response.deliverBody(JsonReceiver.create(callback, errback))
            else:
                print('error %d %s -- login' % (response.code, response.phrase))
                errback('returned %s' % response.code, code=response.code)

        agent = Agent(reactor)
        d = agent.request(
            'POST',
            endpoint('login'),
            bodyProducer=JsonProducer({'key': user_id}))
        d.addCallbacks(handle_response, errback)
        timeoutCall = reactor.callLater(10, d.cancel)
        def completed(passthrough):
            print 'Login connection timeout'
            if timeoutCall.active():
                timeoutCall.cancel()

            return passthrough
        d.addBoth(completed)
    except Exception as ex:
        print('error %s -- login' % ex)
        if on_error:
            errback('error %s -- login' % ex, 'login')
        else:
            errback('error %s' % ex, 'login')
Exemple #4
0
def post(url, data=None, on_created=None, on_error=None):
    errback = on_error or make_errback(frames_back=2)
    try:
        def handle_response(response):
            if response.code == 200:
                callback = partial(
                    _handle_post,
                    on_created=on_created,
                    on_error=errback)
                response.deliverBody(JsonReceiver.create(callback, errback))
            else:
                errback('returned %s' % response.code)

        agent = Agent(reactor)
        headers = Headers(get_auth_headers())
        headers.addRawHeader('Content-Type', 'application/json')
        if not data:
            data = {'dummy': 1}
        d = agent.request(
            'POST',
            add_params(url, rid=uuid4().hex),
            headers=headers,
            bodyProducer=JsonProducer(data) if data else None)
        d.addCallbacks(handle_response, errback)
    except Exception as ex:
        errback('error %s' % ex)
Exemple #5
0
def post(url, data=None, on_created=None, on_error=None):
    errback = on_error or make_errback(frames_back=2)
    try:

        def handle_response(response):
            if response.code == 200:
                callback = partial(_handle_post,
                                   on_created=on_created,
                                   on_error=errback)
                response.deliverBody(JsonReceiver.create(callback, errback))
            else:
                errback('returned %s' % response.code)

        agent = Agent(reactor)
        headers = Headers(get_auth_headers())
        headers.addRawHeader('Content-Type', 'application/json')
        if not data:
            data = {'dummy': 1}
        d = agent.request('POST',
                          add_params(url, rid=uuid4().hex),
                          headers=headers,
                          bodyProducer=JsonProducer(data) if data else None)
        d.addCallbacks(handle_response, errback)
    except Exception as ex:
        errback('error %s' % ex)
Exemple #6
0
def get(url, page_args, response_key, on_page, on_error=None):
    errback = on_error or make_errback(frames_back=2)
    url_parts = list(urlparse(url))
    url_parts[4] = urlencode(page_args, doseq=True)
    get_helper(
        url=urlunparse(url_parts),
        on_response=partial(_handle_get_page, response_key=response_key, on_page=on_page, on_error=errback),
        on_error=errback)
Exemple #7
0
def get(url, data=None, on_response=None, on_error=None):
    errback = on_error or make_errback(frames_back=2)
    try:

        def handle_response(response):
            if response.code == 200:
                response.deliverBody(JsonReceiver.create(on_response, errback))
            else:
                errback("returned %s" % response.code)

        agent = ContentDecoderAgent(Agent(reactor, pool=pool), [("gzip", GzipDecoder)])
        headers = Headers(get_auth_headers())
        headers.addRawHeader("User-Agent", "gzip")
        d = agent.request("GET", url, headers=headers, bodyProducer=JsonProducer(data) if data else None)
        d.addCallbacks(handle_response, errback)
    except Exception as ex:
        errback("error %s" % ex)
Exemple #8
0
def get(url, data=None, on_response=None, on_error=None):
    errback = on_error or make_errback(frames_back=2)
    try:

        def handle_response(response):
            if response.code == 200:
                response.deliverBody(JsonReceiver.create(on_response, errback))
            else:
                errback('returned %s' % response.code)

        agent = ContentDecoderAgent(Agent(reactor, pool=pool),
                                    [('gzip', GzipDecoder)])
        headers = Headers(get_auth_headers())
        headers.addRawHeader('User-Agent', 'gzip')
        d = agent.request('GET',
                          url,
                          headers=headers,
                          bodyProducer=JsonProducer(data) if data else None)
        d.addCallbacks(handle_response, errback)
    except Exception as ex:
        errback('error %s' % ex)
Exemple #9
0
def delete(url, on_created=None, on_error=None):
    errback = on_error or make_errback(frames_back=2)
    try:
        def handle_response(response):
            if response.code == 200:
                callback = partial(
                    _handle_delete,
                    on_created=on_created,
                    on_error=errback)
                response.deliverBody(JsonReceiver.create(callback, errback))
            else:
                errback('returned %s' % response.code)
        agent = Agent(reactor)
        headers = Headers(get_auth_headers())
        d = agent.request(
            'DELETE',
            add_params(url, rid=uuid4().hex),
            headers=headers)
        d.addCallbacks(handle_response, errback)
    except Exception as ex:
        errback('error %s' % ex)
Exemple #10
0
def get(keys, on_updates, on_error=None, hash=None):
    errback = on_error or make_errback()
    get_helper(
        url=get_updates_url(keys, hash),
        on_response=partial(_handle_updates, on_updates=on_updates, on_error=errback),
        on_error=on_error)