diff src/http/ngx_http_script.c @ 99:a059e1aa65d4

nginx-0.0.1-2003-06-02-19:24:30 import
author Igor Sysoev <igor@sysoev.ru>
date Mon, 02 Jun 2003 15:24:30 +0000
parents
children da8c5707af39
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/src/http/ngx_http_script.c
@@ -0,0 +1,49 @@
+
+#include <ngx_config.h>
+#include <ngx_core.h>
+#include <ngx_http.h>
+
+
+char *ngx_http_script_copy(ngx_http_request_t *r,
+                           ngx_http_script_code_t *code,
+                           char *p, size_t len)
+{
+    return ngx_cpymem(p, code->offset, code->len < len ? code->len : len);
+}
+
+
+char *ngx_http_script_header_in(ngx_http_request_t *r,
+                                ngx_http_script_code_t *code,
+                                char *p, size_t len)
+{
+    ngx_str_t *s;
+
+    s = (ngx_str_t *) (((char *) r->headers_in) + code->offset);
+
+    return ngx_cpymem(p, s->data, s->len < len ? s->len : len);
+}
+
+
+/* the log script codes */
+
+char *ngx_http_script_request_line(ngx_http_request_t *r, char *p, size_t len)
+{
+    return ngx_cpymem(p, r->request_line.data,
+                      r->request_line.len < len ? r->request_line.len : len);
+}
+
+
+char *ngx_http_script_status(ngx_http_request_t *r, char *p, size_t len)
+{
+    p += ngx_snprintf(p, len, "%d", r->headers_out.status);
+
+    return p;
+}
+
+
+char *ngx_http_script_sent(ngx_http_request_t *r, char *p, size_t len)
+{
+    p += ngx_snprintf(p, len, OFF_FMT, r->connection->sent);
+
+    return p;
+}