Esempio n. 1
0
BALDE_API balde_response_t*
balde_abort_with_description(balde_app_t *app,
    const balde_http_exception_code_t code, const gchar *description)
{
    balde_abort_set_error_with_description(app, code, description);
    balde_response_t* response = NULL;
    if (app->error != NULL) {
        response = balde_make_response_from_exception(app->error);
        g_clear_error(&app->error);
        app->error = NULL;
    }
    return response;
}
Esempio n. 2
0
File: app.c Progetto: GnLWeB/balde
BALDE_API void
balde_app_set_config_from_envvar(balde_app_t *app, const gchar *name,
    const gchar *env_name, gboolean silent)
{
    BALDE_APP_READ_ONLY(app);
    const gchar *value = g_getenv(env_name);
    if (value == NULL && !silent) {
        gchar *msg = g_strdup_printf("%s environment variable must be set",
            env_name);
        balde_abort_set_error_with_description(app, 500, msg);
        g_free(msg);
        return;
    }
    balde_app_set_config(app, name, value);
}
Esempio n. 3
0
void
bb_post_loader_load_app(balde_app_t *app)
{
    const gchar *dirpath = balde_app_get_config(app, "POSTS_DIRECTORY");
    if (dirpath == NULL) {
        balde_abort_set_error_with_description(app, 500,
            "POSTS_DIRECTORY must be set");
        return;
    }

    /*
     * TODO: when we start reloading the cached posts automatically, we need to
     * free the 'posts' list before re-running bp_post_loader_load_from_directory,
     * and need to make sure that 'user_data' is set to NULL right after creating
     * the balde application context.
     */
    app->user_data = g_new(bb_user_data_t, 1);
    bb_user_data_t *ud = app->user_data;
    ud->posts = bb_post_loader_load_from_directory(dirpath);
}