|
|
|
#ifndef _KEY_VALUE_H_
|
|
|
|
#define _KEY_VALUE_H_
|
|
|
|
#include "first.h"
|
|
|
|
|
|
|
|
#include "base_decls.h"
|
|
|
|
#include "buffer.h"
|
|
|
|
|
|
|
|
struct burl_parts_t; /* declaration */
|
|
|
|
struct cond_cache_t; /* declaration */
|
|
|
|
struct pcre_keyvalue; /* declaration */
|
|
|
|
|
|
|
|
typedef struct pcre_keyvalue_ctx {
|
|
|
|
struct cond_cache_t *cache;
|
|
|
|
struct burl_parts_t *burl;
|
|
|
|
int m;
|
|
|
|
} pcre_keyvalue_ctx;
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
struct pcre_keyvalue **kv;
|
|
|
|
size_t used;
|
|
|
|
size_t size;
|
|
|
|
} pcre_keyvalue_buffer;
|
|
|
|
|
|
|
|
pcre_keyvalue_buffer *pcre_keyvalue_buffer_init(void);
|
|
|
|
int pcre_keyvalue_buffer_append(struct server *srv, pcre_keyvalue_buffer *kvb, buffer *key, buffer *value);
|
|
|
|
void pcre_keyvalue_buffer_free(pcre_keyvalue_buffer *kvb);
|
|
|
|
handler_t pcre_keyvalue_buffer_process(pcre_keyvalue_buffer *kvb, pcre_keyvalue_ctx *ctx, buffer *input, buffer *result);
|
|
|
|
void pcre_keyvalue_burl_normalize_key(buffer *k, buffer *t);
|
|
|
|
void pcre_keyvalue_burl_normalize_value(buffer *v, buffer *t);
|
|
|
|
|
|
|
|
#endif
|