Method: Couchbase::Bucket::CouchRequest#continue

Defined in:
ext/couchbase_ext/http.c

#continueObject



343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
# File 'ext/couchbase_ext/http.c', line 343

VALUE
cb_http_request_continue(VALUE self)
{
    VALUE exc, rv;
    struct cb_http_request_st *req = DATA_PTR(self);

    if (req->running) {
        lcb_wait(req->bucket->handle);
        if (req->completed) {
            exc = req->ctx->exception;
            rv = req->ctx->rv;
            cb_context_free(req->ctx);
            if (exc != Qnil) {
                rb_exc_raise(exc);
            }
            return rv;
        }
    } else {
        cb_http_request_perform(self);
    }
    return Qnil;
}