summaryrefslogtreecommitdiff
path: root/src/rewrites/rewrites.h
blob: c681e01668fcdf41ebf90c4ddbaeb7fd976d59fe (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#ifndef REWRITES_H
#define REWRITES_H

#include "str/str.h"
#include "list/list.h"


typedef struct url {
	str path;
	str query;
} url;

typedef struct rewrite {
	str pattern;
	url output;
} rewrite;


void read_url_rewrites(str file);
void free_url_rewrites(void);

int check_pattern(str text, str pattern, str tokens[9]);
str fill_blueprint(str bp, str tokens[9]);
url url_rewrite(str url, rewrite rwt);
url url_check(str url);

void free_url(url *u);
void free_rewrite(rewrite *r);

void print_url_rewrites(void);

#endif