示例#1
0
文件: credentials.c 项目: bjori/grpc
static void on_oauth2_token_fetcher_http_response(
    grpc_exec_ctx *exec_ctx, void *user_data,
    const grpc_httpcli_response *response) {
  grpc_credentials_metadata_request *r =
      (grpc_credentials_metadata_request *)user_data;
  grpc_oauth2_token_fetcher_credentials *c =
      (grpc_oauth2_token_fetcher_credentials *)r->creds;
  gpr_timespec token_lifetime;
  grpc_credentials_status status;

  gpr_mu_lock(&c->mu);
  status = grpc_oauth2_token_fetcher_credentials_parse_server_response(
      response, &c->access_token_md, &token_lifetime);
  if (status == GRPC_CREDENTIALS_OK) {
    c->token_expiration =
        gpr_time_add(gpr_now(GPR_CLOCK_REALTIME), token_lifetime);
    r->cb(exec_ctx, r->user_data, c->access_token_md->entries,
          c->access_token_md->num_entries, status);
  } else {
    c->token_expiration = gpr_inf_past(GPR_CLOCK_REALTIME);
    r->cb(exec_ctx, r->user_data, NULL, 0, status);
  }
  gpr_mu_unlock(&c->mu);
  grpc_credentials_metadata_request_destroy(r);
}
示例#2
0
文件: credentials.c 项目: Abioy/kythe
void on_simulated_token_fetch_done(void *user_data, int success) {
  grpc_credentials_metadata_request *r =
      (grpc_credentials_metadata_request *)user_data;
  grpc_fake_oauth2_credentials *c = (grpc_fake_oauth2_credentials *)r->creds;
  GPR_ASSERT(success);
  r->cb(r->user_data, &c->access_token_md, 1, GRPC_CREDENTIALS_OK);
  grpc_credentials_metadata_request_destroy(r);
}
示例#3
0
void on_simulated_token_fetch_done(void *user_data, int success) {
  grpc_credentials_metadata_request *r =
      (grpc_credentials_metadata_request *)user_data;
  grpc_md_only_test_credentials *c = (grpc_md_only_test_credentials *)r->creds;
  GPR_ASSERT(success);
  r->cb(r->user_data, c->md_store->entries, c->md_store->num_entries,
        GRPC_CREDENTIALS_OK);
  grpc_credentials_metadata_request_destroy(r);
}
示例#4
0
static void on_simulated_token_fetch_done(grpc_exec_ctx *exec_ctx,
                                          void *user_data, grpc_error *error) {
  grpc_credentials_metadata_request *r =
      (grpc_credentials_metadata_request *)user_data;
  grpc_md_only_test_credentials *c = (grpc_md_only_test_credentials *)r->creds;
  r->cb(exec_ctx, r->user_data, c->md_store->entries, c->md_store->num_entries,
        GRPC_CREDENTIALS_OK, NULL);
  grpc_credentials_metadata_request_destroy(r);
}
示例#5
0
文件: credentials.c 项目: bjori/grpc
static void on_simulated_token_fetch_done(void *user_data) {
  grpc_credentials_metadata_request *r =
      (grpc_credentials_metadata_request *)user_data;
  grpc_md_only_test_credentials *c = (grpc_md_only_test_credentials *)r->creds;
  grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
  r->cb(&exec_ctx, r->user_data, c->md_store->entries, c->md_store->num_entries,
        GRPC_CREDENTIALS_OK);
  grpc_credentials_metadata_request_destroy(r);
  grpc_exec_ctx_finish(&exec_ctx);
}