mirror of
https://github.com/sigmasternchen/CShore
synced 2025-03-14 23:58:55 +00:00
added demo for sessions
This commit is contained in:
parent
491c4d929a
commit
bfd04560ed
2 changed files with 20 additions and 15 deletions
4
Makefile
4
Makefile
|
@ -1,14 +1,14 @@
|
|||
CC = gcc
|
||||
LD = gcc
|
||||
CFLAGS = -Wall -g -std=c99 -ICFloor/src/ -Ilibargo/src/ -Ilibparcival/src/ -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=500
|
||||
LDFLAGS = -lpthread -lrt
|
||||
LDFLAGS = -lpthread -lrt -luuid
|
||||
|
||||
CFLOOR_LIB = CFloor/libcfloor.a
|
||||
LIBARGO = libargo/libargo.a
|
||||
LIBPARCIVAL = libparcival/libparcival.a
|
||||
LIBS = $(CFLOOR_LIB) $(LIBARGO) $(LIBPARCIVAL)
|
||||
|
||||
OBJS = obj/router.o obj/request.o obj/base_cfloor.o obj/base_cgi.o obj/auth.o obj/base64.o obj/common.o obj/cookies.o
|
||||
OBJS = obj/router.o obj/request.o obj/base_cfloor.o obj/base_cgi.o obj/auth.o obj/base64.o obj/common.o obj/cookies.o obj/sessions.o
|
||||
DEPS = $(OBJS:%.o=%.d)
|
||||
|
||||
DEMO_OBJS = obj/demo.o obj/entities.tab.o obj/template.tab.o
|
||||
|
|
31
demo/demo.c
31
demo/demo.c
|
@ -1,8 +1,11 @@
|
|||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include <controller.h>
|
||||
#include <cookies.h>
|
||||
|
||||
#define SESSION_PTR_TYPE const char*
|
||||
#include <sessions.h>
|
||||
|
||||
#include "entities.h"
|
||||
|
||||
|
@ -49,19 +52,21 @@ response_t template(ctx_t* ctx) {
|
|||
return templateResponse(200, "demo.templ", "Page Title", "Overflow");
|
||||
}
|
||||
|
||||
GET("/cookies", cookies);
|
||||
response_t cookies(ctx_t* ctx) {
|
||||
char* test = getCookie(ctx, "test");
|
||||
GET("/sessions", sessions);
|
||||
response_t sessions(ctx_t* ctx) {
|
||||
const char** sessiondata = session_start(ctx);
|
||||
|
||||
const char* output = "null\n";
|
||||
|
||||
setCookie(ctx, "test", "foobar", cookieSettingsNull());
|
||||
|
||||
if (test == NULL) {
|
||||
return rawResponse(200, "cookie not set");
|
||||
} else if (strcmp(test, "foobar") == 0) {
|
||||
free(test);
|
||||
return rawResponse(200, "cookie value correct");
|
||||
if (*sessiondata == NULL) {
|
||||
*sessiondata = "Test\n";
|
||||
} else {
|
||||
free(test);
|
||||
return rawResponse(200, "cookie value incorrect");
|
||||
output = *sessiondata;
|
||||
}
|
||||
|
||||
fprintf(stderr, "%s, %d\n", output, strlen(output));
|
||||
|
||||
return rawResponse(200, output);
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue