1 #include "core/private.h"
3 #if defined(LWS_WITH_HUBBUB)
5 LWS_EXTERN struct lws_rewrite *
6 lws_rewrite_create(struct lws *wsi, hubbub_callback_t cb, const char *from,
9 struct lws_rewrite *r = lws_malloc(sizeof(*r), "rewrite");
16 if (hubbub_parser_create("UTF-8", false, &r->parser) != HUBBUB_OK) {
22 r->from_len = strlen(from);
24 r->to_len = strlen(to);
25 r->params.token_handler.handler = cb;
27 r->params.token_handler.pw = (void *)r;
28 if (hubbub_parser_setopt(r->parser, HUBBUB_PARSER_TOKEN_HANDLER,
29 &r->params) != HUBBUB_OK) {
39 lws_rewrite_parse(struct lws_rewrite *r,
40 const unsigned char *in, int in_len)
42 if (r && hubbub_parser_parse_chunk(r->parser, in, in_len) != HUBBUB_OK)
49 lws_rewrite_destroy(struct lws_rewrite *r)
51 hubbub_parser_destroy(r->parser);