blob: 3a26d65dee574ff8c9d275eeed77713a2c291a68 [file] [log] [blame]
Igor Sysoev7578ec92003-06-02 15:24:30 +00001
Igor Sysoevd90282d2004-09-28 08:34:51 +00002/*
Igor Sysoevff8da912004-09-29 16:00:49 +00003 * Copyright (C) Igor Sysoev
Igor Sysoevd90282d2004-09-28 08:34:51 +00004 */
5
6
Igor Sysoev7578ec92003-06-02 15:24:30 +00007#include <ngx_config.h>
8#include <ngx_core.h>
9#include <ngx_http.h>
10
11
12char *ngx_http_script_copy(ngx_http_request_t *r,
13 ngx_http_script_code_t *code,
14 char *p, size_t len)
15{
16 return ngx_cpymem(p, code->offset, code->len < len ? code->len : len);
17}
18
19
20char *ngx_http_script_header_in(ngx_http_request_t *r,
21 ngx_http_script_code_t *code,
22 char *p, size_t len)
23{
24 ngx_str_t *s;
25
26 s = (ngx_str_t *) (((char *) r->headers_in) + code->offset);
27
28 return ngx_cpymem(p, s->data, s->len < len ? s->len : len);
29}
30
31
32/* the log script codes */
33
34char *ngx_http_script_request_line(ngx_http_request_t *r, char *p, size_t len)
35{
36 return ngx_cpymem(p, r->request_line.data,
37 r->request_line.len < len ? r->request_line.len : len);
38}
39
40
41char *ngx_http_script_status(ngx_http_request_t *r, char *p, size_t len)
42{
43 p += ngx_snprintf(p, len, "%d", r->headers_out.status);
44
45 return p;
46}
47
48
49char *ngx_http_script_sent(ngx_http_request_t *r, char *p, size_t len)
50{
51 p += ngx_snprintf(p, len, OFF_FMT, r->connection->sent);
52
53 return p;
54}