Line data Source code
1 : #ifndef DDEBUG
2 : #define DDEBUG 0
3 : #endif
4 : #include "ddebug.h"
5 :
6 : #include <ndk.h>
7 : #include "ngx_http_set_base64.h"
8 :
9 :
10 : ngx_int_t
11 0 : ngx_http_set_misc_set_decode_base64(ngx_http_request_t *r, ngx_str_t *res,
12 : ngx_http_variable_value_t *v)
13 : {
14 :
15 : ngx_str_t src;
16 :
17 0 : src.len = v->len;
18 0 : src.data = v->data;
19 :
20 0 : res->len = ngx_base64_decoded_length(v->len);
21 0 : ndk_palloc_re(res->data, r->pool, res->len);
22 :
23 0 : if (ngx_decode_base64(res, &src) != NGX_OK) {
24 0 : ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
25 : "set_decode_base64: invalid value");
26 0 : return NGX_ERROR;
27 : }
28 :
29 0 : return NGX_OK;
30 : }
31 :
32 :
33 : ngx_int_t
34 0 : ngx_http_set_misc_set_encode_base64(ngx_http_request_t *r, ngx_str_t *res,
35 : ngx_http_variable_value_t *v)
36 : {
37 :
38 : ngx_str_t src;
39 :
40 0 : src.len = v->len;
41 0 : src.data = v->data;
42 :
43 0 : res->len = ngx_base64_encoded_length(v->len);
44 0 : ndk_palloc_re(res->data, r->pool, res->len);
45 :
46 0 : ngx_encode_base64(res, &src);
47 :
48 0 : return NGX_OK;
49 : }
50 :
|