Alejandro Colomar
9bf614cd08
Var: Added $request_uri (as in NGINX).
This supports a new variable $request_uri that contains the path
and the query (See RFC 3986, section 3). Its contents are percent
encoded. This is useful for example to redirect HTTP to HTTPS:
{
"return": "301",
"location": "https://$host$request_uri"
}
When <http://example.com/foo%23bar?baz> is requested, the server
redirects to <https://example.com/foo%23bar?baz>.
===
Testing:
//diff --git a/src/nxt_http_return.c b/src/nxt_http_return.c
//index 82c9156..adeb3a1 100644
//--- a/src/nxt_http_return.c
//+++ b/src/nxt_http_return.c
//@@ -196,6 +196,7 @@ nxt_http_return_send_ready(nxt_task_t *task,
void *obj, void *data)
// field->value = ctx->encoded.start;
// field->value_length = ctx->encoded.length;
// }
//+ fprintf(stderr, "ALX: target[%1$i]: <%2$.*1$s>\n",
(int)r->target.length, r->target.start);
//
// r->state = &nxt_http_return_send_state;
//
{
"listeners": {
"*:81": {
"pass": "routes/ru"
}
},
"routes": {
"ru": [{
"action": {
"return": 301,
"location": "$request_uri"
}
}]
}
}
$ curl -i http://localhost:81/*foo%2Abar?baz#arg
HTTP/1.1 301 Moved Permanently
Location: /*foo%2Abar?baz
Server: Unit/1.27.0
Date: Mon, 30 May 2022 16:04:30 GMT
Content-Length: 0
$ sudo cat /usr/local/unit.log | grep ALX
ALX: target[15]: </*foo%2Abar?baz>
2022-05-31 12:40:02 +02:00
..
2022-04-26 12:38:48 +02:00
2021-10-28 17:46:54 +03:00
2022-04-26 12:38:48 +02:00
2022-04-26 12:38:48 +02:00
2022-05-13 19:33:40 +08:00
2022-05-03 12:11:14 +02:00
2017-02-22 15:09:59 +03:00
2021-03-24 08:05:07 +03:00
2020-08-11 19:20:34 +03:00
2020-12-18 00:25:27 +03:00
2021-12-01 18:05:50 +03:00
2021-11-24 13:11:47 +03:00
2020-08-13 02:46:54 +03:00
2022-05-03 12:11:14 +02:00
2022-05-03 12:11:14 +02:00
2017-06-20 19:49:17 +03:00
2017-06-20 19:49:17 +03:00
2020-02-03 11:14:14 +03:00
2022-05-03 12:11:14 +02:00
2021-08-03 13:59:27 +03:00
2022-05-03 12:11:14 +02:00
2022-05-03 12:11:14 +02:00
2017-01-30 16:47:50 +03:00
2020-05-28 14:57:41 +01:00
2020-05-28 14:57:41 +01:00
2022-02-14 20:14:03 +08:00
2020-03-09 16:28:25 +00:00
2022-05-03 12:11:14 +02:00
2022-04-26 12:38:48 +02:00
2020-09-16 17:52:53 +01:00
2022-05-30 12:42:18 +02:00
2022-04-26 12:38:48 +02:00
2022-04-26 12:38:48 +02:00
2020-08-05 14:55:34 +03:00
2018-03-05 17:32:50 +03:00
2020-04-08 15:15:24 +03:00
2017-06-27 17:27:18 +03:00
2019-11-14 16:39:48 +03:00
2020-08-17 12:28:48 +03:00
2018-09-20 15:05:37 +03:00
2020-04-15 15:10:14 +03:00
2021-10-09 10:44:31 +08:00
2019-12-06 16:52:50 +00:00
2019-12-06 16:52:50 +00:00
2018-03-05 17:32:50 +03:00
2018-03-05 17:32:50 +03:00
2017-01-17 20:00:00 +03:00
2022-05-03 12:11:14 +02:00
2017-01-17 20:00:00 +03:00
2022-05-03 12:11:14 +02:00
2020-04-15 14:54:09 +03:00
2018-06-25 16:51:47 +03:00
2022-05-03 12:11:14 +02:00
2019-02-28 18:04:11 +03:00
2021-08-03 13:59:27 +03:00
2022-05-03 12:11:14 +02:00
2018-03-05 17:32:50 +03:00
2021-11-24 13:11:47 +03:00
2017-01-23 19:56:03 +03:00
2022-05-03 12:11:14 +02:00
2017-06-20 19:49:17 +03:00
2018-03-29 16:35:36 +03:00
2022-05-03 12:11:14 +02:00
2022-05-03 12:11:14 +02:00
2017-01-30 16:47:50 +03:00
2017-01-17 20:00:00 +03:00
2017-06-14 15:18:52 +03:00
2017-06-20 19:49:17 +03:00
2017-06-20 19:49:17 +03:00
2021-04-29 22:04:34 +08:00
2022-05-03 12:11:14 +02:00
2017-02-22 15:09:59 +03:00
2020-10-30 07:55:26 +03:00
2020-10-29 20:30:53 +00:00
2017-01-17 20:00:00 +03:00
2022-04-26 12:38:48 +02:00
2021-09-20 09:01:08 +03:00
2022-04-26 12:38:48 +02:00
2020-06-23 14:16:45 +03:00
2017-01-17 20:00:00 +03:00
2019-03-11 17:31:59 +03:00
2022-05-03 12:11:14 +02:00
2019-11-14 16:39:54 +03:00
2022-05-03 12:11:14 +02:00
2020-11-17 16:50:06 +03:00
2021-07-26 15:00:46 +08:00
2022-05-18 21:18:40 +08:00
2020-04-16 17:09:23 +03:00
2022-05-17 12:41:18 +02:00
2021-08-12 08:23:09 +00:00
2019-12-24 13:58:10 +00:00
2022-05-30 12:42:18 +02:00
2017-06-20 19:49:17 +03:00
2017-06-20 19:49:17 +03:00
2022-05-30 12:42:18 +02:00
2022-05-31 12:40:02 +02:00
2020-08-11 19:20:34 +03:00
2022-05-30 12:42:18 +02:00
2021-08-03 13:59:27 +03:00
2020-08-20 15:22:58 +01:00
2021-10-28 17:46:54 +03:00
2017-06-20 19:49:17 +03:00
2017-08-24 17:43:32 +03:00
2017-08-28 10:20:40 +03:00
2017-06-20 19:49:17 +03:00
2019-03-11 17:31:59 +03:00
2017-01-17 20:00:00 +03:00
2017-08-24 17:43:32 +03:00
2022-05-03 12:11:14 +02:00
2020-03-04 14:03:30 +03:00
2020-10-14 18:41:31 +03:00
2018-01-24 15:16:33 +03:00
2017-06-28 23:52:07 +03:00
2022-05-03 12:11:14 +02:00
2020-04-08 15:15:24 +03:00
2020-04-08 15:15:24 +03:00
2020-04-15 14:54:09 +03:00
2022-05-03 12:11:14 +02:00
2021-03-24 08:05:07 +03:00
2022-05-03 12:11:14 +02:00
2022-05-03 12:11:14 +02:00
2022-05-03 12:11:14 +02:00
2017-06-14 15:18:52 +03:00
2022-04-26 12:38:48 +02:00
2021-11-09 15:48:44 +03:00
2021-12-01 17:09:02 +03:00
2020-08-13 02:46:54 +03:00
2022-02-22 19:18:18 +08:00
2022-05-03 12:11:14 +02:00
2017-01-17 20:00:00 +03:00
2022-05-03 12:11:14 +02:00
2017-03-09 18:03:27 +03:00
2017-01-17 20:00:00 +03:00
2022-05-03 12:11:14 +02:00
2022-05-03 12:11:14 +02:00
2022-04-26 12:38:48 +02:00
2020-08-13 02:46:54 +03:00
2018-04-04 18:13:05 +03:00
2017-01-17 20:00:00 +03:00
2020-08-11 19:20:32 +03:00
2020-08-11 19:20:32 +03:00
2022-05-12 12:04:54 +04:00
2017-04-10 03:43:00 +03:00
2017-01-17 20:00:00 +03:00
2021-05-05 17:23:33 +08:00
2020-11-17 15:03:30 +00:00
2021-11-25 19:58:54 +03:00
2018-03-05 17:32:50 +03:00
2019-03-11 17:31:59 +03:00
2018-03-05 17:32:50 +03:00
2018-03-29 16:35:38 +03:00
2018-03-29 16:35:38 +03:00
2020-08-11 19:20:13 +03:00
2021-10-27 20:37:34 +03:00
2020-10-28 00:01:46 +03:00
2020-08-11 19:20:34 +03:00
2021-11-09 15:48:44 +03:00
2020-05-28 12:41:00 +03:00
2021-11-09 15:48:44 +03:00
2021-11-24 13:11:48 +03:00
2021-11-09 15:48:44 +03:00
2017-03-14 19:03:49 +03:00
2021-11-09 15:48:44 +03:00
2021-11-24 13:11:48 +03:00
2021-11-24 13:11:48 +03:00
2017-01-17 20:00:00 +03:00
2022-05-03 12:11:14 +02:00
2018-07-27 17:52:21 +03:00
2017-08-30 00:31:02 +03:00
2017-05-29 10:17:36 +03:00
2017-03-14 19:02:30 +03:00
2017-01-17 20:00:00 +03:00
2017-01-17 20:00:00 +03:00
2020-11-17 15:03:30 +00:00
2021-03-25 14:16:30 +03:00
2022-04-26 12:38:48 +02:00
2021-11-09 15:48:44 +03:00
2021-11-09 15:48:44 +03:00
2021-11-09 15:48:44 +03:00
2017-06-14 15:18:52 +03:00
2017-01-17 20:00:00 +03:00
2017-01-17 20:00:00 +03:00
2019-11-14 16:39:48 +03:00
2018-09-20 15:05:37 +03:00
2018-03-05 17:32:50 +03:00
2022-05-03 12:11:14 +02:00
2019-08-20 16:31:53 +03:00
2019-08-20 16:31:53 +03:00
2020-03-09 16:28:25 +00:00
2017-08-24 17:43:32 +03:00
2022-05-03 12:11:14 +02:00
2021-08-12 08:23:09 +00:00
2021-08-12 08:23:09 +00:00
2021-11-09 15:48:44 +03:00
2021-11-09 15:48:44 +03:00
2020-06-23 14:16:43 +03:00
2022-05-03 12:11:14 +02:00
2021-11-09 15:48:44 +03:00
2017-02-22 15:09:59 +03:00
2017-01-17 20:00:00 +03:00
2022-05-03 12:11:14 +02:00
2018-09-17 16:37:17 +03:00
2018-09-17 16:37:17 +03:00
2022-05-26 14:11:12 +02:00
2017-01-17 20:00:00 +03:00
2018-01-24 15:16:32 +03:00
2017-06-14 15:18:52 +03:00
2017-06-14 15:18:52 +03:00
2021-10-26 15:43:44 +03:00
2022-05-03 12:11:14 +02:00
2017-01-17 20:00:00 +03:00
2017-01-17 20:00:00 +03:00
2018-03-05 17:32:50 +03:00
2022-05-03 12:11:14 +02:00
2018-03-05 17:32:50 +03:00
2018-03-05 17:32:50 +03:00
2018-01-24 15:16:33 +03:00
2017-01-27 11:35:11 +03:00
2017-08-24 17:43:32 +03:00
2022-05-03 12:11:14 +02:00
2018-07-27 17:52:21 +03:00
2022-05-03 12:11:14 +02:00
2022-04-26 12:38:48 +02:00
2017-01-17 20:00:00 +03:00
2022-05-03 12:11:14 +02:00
2019-02-26 17:42:20 +03:00
2019-03-11 17:31:59 +03:00
2021-10-26 15:43:44 +03:00
2018-06-25 16:51:47 +03:00
2018-04-04 18:13:05 +03:00
2019-03-11 17:31:59 +03:00
2018-04-04 18:13:05 +03:00
2019-11-14 16:39:54 +03:00
2020-12-08 01:59:46 +03:00
2018-08-06 17:27:33 +03:00
2018-08-06 17:27:33 +03:00
2019-08-20 16:31:53 +03:00
2019-08-20 16:31:53 +03:00
2022-04-26 12:38:48 +02:00
2021-11-24 13:11:47 +03:00
2022-05-03 12:11:14 +02:00
2020-03-30 19:47:01 +03:00
2017-06-20 19:49:17 +03:00
2018-06-25 16:51:47 +03:00
2021-09-07 21:13:44 +08:00
2020-03-06 18:28:54 +03:00
2018-04-04 18:13:05 +03:00
2018-04-04 18:13:05 +03:00
2021-12-03 12:08:54 +08:00
2021-09-28 23:08:26 +08:00
2017-06-27 17:27:18 +03:00
2022-05-03 12:11:14 +02:00
2019-08-20 16:31:53 +03:00
2019-08-20 16:31:53 +03:00
2019-10-10 19:42:41 +03:00
2019-08-20 16:31:53 +03:00
2018-02-07 15:34:42 +03:00
2022-05-03 12:11:14 +02:00