ret_t cherokee_handler_admin_new (cherokee_handler_t **hdl, void *cnt, cherokee_module_props_t *props) { CHEROKEE_NEW_STRUCT (n, handler_admin); /* Init the base class object */ cherokee_handler_init_base (HANDLER(n), cnt, HANDLER_PROPS(props), PLUGIN_INFO_HANDLER_PTR(admin)); MODULE(n)->init = (module_func_init_t) cherokee_handler_admin_init; MODULE(n)->free = (module_func_free_t) cherokee_handler_admin_free; HANDLER(n)->add_headers = (handler_func_add_headers_t) cherokee_handler_admin_add_headers; HANDLER(n)->read_post = (handler_func_read_post_t) cherokee_handler_admin_read_post; HANDLER(n)->step = (handler_func_step_t) cherokee_handler_admin_step; /* Supported features */ HANDLER(n)->support = hsupport_nothing; cherokee_buffer_init (&n->reply); /* Configure the data writer object */ cherokee_dwriter_init (&n->dwriter, THREAD_TMP_BUF1(CONN_THREAD(cnt))); cherokee_dwriter_set_buffer (&n->dwriter, &n->reply); /* Return the object */ *hdl = HANDLER(n); return ret_ok; }
ret_t cherokee_handler_dbslayer_new (cherokee_handler_t **hdl, void *cnt, cherokee_module_props_t *props) { CHEROKEE_NEW_STRUCT (n, handler_dbslayer); /* Init the base class object */ cherokee_handler_init_base (HANDLER(n), cnt, HANDLER_PROPS(props), PLUGIN_INFO_HANDLER_PTR(dbslayer)); MODULE(n)->init = (handler_func_init_t) cherokee_handler_dbslayer_init; MODULE(n)->free = (module_func_free_t) dbslayer_free; HANDLER(n)->step = (handler_func_step_t) dbslayer_step; HANDLER(n)->add_headers = (handler_func_add_headers_t) dbslayer_add_headers; /* Supported features */ HANDLER(n)->support = hsupport_nothing; /* Properties */ n->src_ref = NULL; n->rollback = false; /* Data writer */ cherokee_dwriter_init (&n->writer, &CONN_THREAD(cnt)->tmp_buf1); n->writer.lang = PROP_DBSLAYER(props)->lang; /* MySQL */ n->conn = mysql_init (NULL); if (unlikely (n->conn == NULL)) { cherokee_handler_free (HANDLER(n)); return ret_nomem; } *hdl = HANDLER(n); return ret_ok; }