balde  master
A microframework for C based on GLib.
hello-with-url_for.c

An example with the url_for helper. It depends on more files. Take a look at it on the balde source code.

/*
* balde: A microframework for C based on GLib.
* Copyright (C) 2013-2017 Rafael G. Martins <rafael@rafaelmartins.eng.br>
*
* This program can be distributed under the terms of the LGPL-2 License.
* See the file COPYING.
*/
#include <balde.h>
#include "templates/url_for.h"
home(balde_app_t *app, balde_request_t *request)
{
balde_template_url_for(app, request, response);
return response;
}
profile(balde_app_t *app, balde_request_t *request)
{
const gchar *name = balde_request_get_view_arg(request, "name");
gchar *str = g_strdup_printf("Hello, %s\n", name != NULL ? name : "World");
g_free(str);
return response;
}
int
main(int argc, char **argv)
{
balde_app_add_url_rule(app, "home", "/", BALDE_HTTP_GET, home);
balde_app_add_url_rule(app, "profile", "/profile/<name>/", BALDE_HTTP_GET, profile);
balde_app_run(app, argc, argv);
return 0;
}
balde_app_add_url_rule
void balde_app_add_url_rule(balde_app_t *app, const gchar *endpoint, const gchar *rule, const balde_http_method_t method, balde_view_func_t view_func)
Adds a view to the balde application.
balde.h
balde public API.
balde_request_t
balde HTTP request context
Definition: balde.h:212
balde_request_get_view_arg
const gchar * balde_request_get_view_arg(balde_request_t *request, const gchar *name)
Gets a view argument.
balde_response_t
balde HTTP response context
Definition: balde.h:268
balde_app_free
void balde_app_free(balde_app_t *app)
Free application context memory.
balde_app_run
void balde_app_run(balde_app_t *app, gint argc, gchar **argv)
Application main loop.
balde_app_init
balde_app_t * balde_app_init(void)
Initializes the application context.
balde_make_response
balde_response_t * balde_make_response(const gchar *content)
Initialize a response context.
balde_app_t
balde application context
Definition: balde.h:122