Esempio n. 1
0
bool sc_watchdog_prep_request(sc_param_request_t *params, sc_request_t *request) {
  sc_request_nameVal_t *paramPrev;
  sc_request_nameVal_t *param;

  paramPrev = request->params;
  while (paramPrev && paramPrev->next)
    paramPrev = paramPrev->next;

  param = sc_request_create_nameVal("type", "watchdog");

  if (!paramPrev) {
    param->first = param;
    request->params = paramPrev = param;
  } else {
    paramPrev = sc_request_link_nameVal(paramPrev, param);
  }

  switch (params->action) {
    case WATCHDOG_GET_EVENTS:
      sc_request_link_nameVal(paramPrev, sc_request_create_nameVal("action", "get_events"));
      break;
  }

  request->method = "GET";
  
  paramPrev = NULL;
  param = NULL;

  return true;
}
Esempio n. 2
0
bool sc_stb_prep_request(sc_param_params_t *params, sc_request_t *request) {
    sc_request_nameVal_t *paramPrev;
    sc_request_nameVal_t *param;

    paramPrev = request->params;
    while (paramPrev && paramPrev->next)
        paramPrev = paramPrev->next;

    param = sc_request_create_nameVal("type", "stb");

    if (!paramPrev) {
        param->first = param;
        request->params = paramPrev = param;
    } else {
        paramPrev = sc_request_link_nameVal(paramPrev, param);
    }

    switch (params->action) {
        case STB_HANDSHAKE:
            sc_request_link_nameVal(paramPrev, sc_request_create_nameVal("action", "handshake"));
            break;
        case STB_GET_PROFILE:
            sc_request_link_nameVal(paramPrev, sc_request_create_nameVal("action", "get_profile"));
            break;
        case STB_DO_AUTH:
            sc_request_link_nameVal(paramPrev, sc_request_create_nameVal("action", "do_auth"));
            break;
        default:
            break;
    }

    request->method = "GET";

    return true;
}
Esempio n. 3
0
void sc_request_build_headers(sc_identity_t *identity, sc_request_t *request, sc_action_t action) {
    char buffer[256];

    memset(&buffer, 0, sizeof(buffer));
    sprintf(buffer, "mac=%s; stb_lang=%s; timezone=%s",
            identity->mac, identity->lang, identity->time_zone);
    sc_request_append_nameVal(&request->headers, sc_request_create_nameVal("Cookie", buffer));

    if (action != STB_HANDSHAKE) {
        memset(&buffer, 0, sizeof(buffer));
        sprintf(buffer, "Bearer %s", identity->token);
        sc_request_append_nameVal(&request->headers, sc_request_create_nameVal("Authorization", buffer));
    }
}
Esempio n. 4
0
void sc_request_build_query_params(sc_param_params_t *params, sc_request_t *request) {
    sc_list_node_t *node;
    sc_param_t *param;
    char buffer[1024];

    node = params->list->first;
    while (node) {
        param = (sc_param_t *) node->data;
        memset(&buffer, 0, sizeof(buffer));

        switch (param->type) {
            case SC_STRING:
                sprintf(buffer, "%s", param->value.string);
                break;
            case SC_INTEGER:
                sprintf(buffer, "%d", param->value.integer);
                break;
            case SC_BOOLEAN:
                sprintf(buffer, "%d", param->value.boolean ? 1 : 0);
                break;
        }

        sc_request_append_nameVal(&request->params, sc_request_create_nameVal(param->name, buffer));

        node = node->next;
    }
}
Esempio n. 5
0
void sc_request_build_query_params(sc_param_request_t *params, sc_request_t *request) {
  sc_param_t *param;
  char buffer[1024];
  sc_request_nameVal_t *qParamPrev;
  sc_request_nameVal_t *qParam;

  qParamPrev = request->params;
  while (qParamPrev && qParamPrev->next)
    qParamPrev = qParamPrev->next;

  param = params->param;
  while (param) {
    memset(&buffer, 0, sizeof (buffer));

    switch (param->type) {
      case SC_STRING:
        sprintf(buffer, "%s", param->value.string);
        break;
      case SC_INTEGER:
        sprintf(buffer, "%d", param->value.integer);
        break;
      case SC_BOOLEAN:
        sprintf(buffer, "%d", param->value.boolean ? 1 : 0);
        break;
    }

    qParam = sc_request_create_nameVal(param->name, buffer);

    if (!request->params) {
      qParam->first = qParam;
      request->params = qParamPrev = qParam;
    } else {
      qParamPrev = sc_request_link_nameVal(qParamPrev, qParam);
    }

    param = param->next;
  }

  qParamPrev->next = NULL;
}
Esempio n. 6
0
bool sc_itv_prep_request(sc_param_request_t *params, sc_request_t *request) {
  sc_request_nameVal_t *paramPrev;
  sc_request_nameVal_t *param;

  paramPrev = request->params;
  while (paramPrev && paramPrev->next)
    paramPrev = paramPrev->next;

  param = sc_request_create_nameVal("type", "itv");

  if (!paramPrev) {
    param->first = param;
    request->params = paramPrev = param;
  } else {
    paramPrev = sc_request_link_nameVal(paramPrev, param);
  }

  switch (params->action) {
    case ITV_GET_ALL_CHANNELS:
      sc_request_link_nameVal(paramPrev, sc_request_create_nameVal("action", "get_all_channels"));
      break;
    case ITV_GET_ORDERED_LIST:
      sc_request_link_nameVal(paramPrev, sc_request_create_nameVal("action", "get_ordered_list"));
      break;
    case ITV_CREATE_LINK:
      sc_request_link_nameVal(paramPrev, sc_request_create_nameVal("action", "create_link"));
      break;
    case ITV_GET_GENRES:
      sc_request_link_nameVal(paramPrev, sc_request_create_nameVal("action", "get_genres"));
      break;
    case ITV_GET_EPG_INFO:
      sc_request_link_nameVal(paramPrev, sc_request_create_nameVal("action", "get_epg_info"));
      break;
  }

  request->method = "GET";
  
  paramPrev = NULL;
  param = NULL;

  return true;
}