* [bug#56164] [PATCH] services: nginx: Add support for extra content in upstream blocks.
@ 2022-06-23 11:45 Christopher Baines
2022-07-01 8:48 ` bug#56164: " Christopher Baines
0 siblings, 1 reply; 2+ messages in thread
From: Christopher Baines @ 2022-06-23 11:45 UTC (permalink / raw)
To: 56164
I'm looking at this as I'd like to use the keepalive functionality.
* gnu/services/web.scm (nginx-upstream-configuration-extra-content): New
procedure.
(emit-nginx-upstream-config): Include the extra-content if applicable.
* doc/guix.texi (NGINX): Document this.
---
doc/guix.texi | 3 +++
gnu/services/web.scm | 14 +++++++++++++-
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index bbb7d0764d..0a96ad1852 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -28490,6 +28490,9 @@ prefix @samp{unix:}. For addresses using an IP address or domain name,
the default port is 80, and a different port can be specified
explicitly.
+@item @code{extra-content}
+A string or list of strings to add to the upstream block.
+
@end table
@end deftp
diff --git a/gnu/services/web.scm b/gnu/services/web.scm
index 4f06d4e0bb..4434fecf02 100644
--- a/gnu/services/web.scm
+++ b/gnu/services/web.scm
@@ -120,6 +120,7 @@ (define-module (gnu services web)
nginx-upstream-configuration?
nginx-upstream-configuration-name
nginx-upstream-configuration-servers
+ nginx-upstream-configuration-extra-content
nginx-location-configuration
nginx-location-configuration?
@@ -517,7 +518,9 @@ (define-record-type* <nginx-upstream-configuration>
nginx-upstream-configuration make-nginx-upstream-configuration
nginx-upstream-configuration?
(name nginx-upstream-configuration-name)
- (servers nginx-upstream-configuration-servers))
+ (servers nginx-upstream-configuration-servers)
+ (extra-content nginx-upstream-configuration-extra-content
+ (default '())))
(define-record-type* <nginx-location-configuration>
nginx-location-configuration make-nginx-location-configuration
@@ -643,6 +646,15 @@ (define (emit-nginx-upstream-config upstream)
(map (lambda (server)
(simple-format #f " server ~A;\n" server))
(nginx-upstream-configuration-servers upstream))
+ (let ((extra-content
+ (nginx-upstream-configuration-extra-content upstream)))
+ (if (and extra-content (not (null? extra-content)))
+ (cons
+ "\n"
+ (map (lambda (line)
+ (simple-format #f " ~A\n" line))
+ (flatten extra-content)))
+ '()))
" }\n"))
(define (flatten . lst)
--
2.36.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* bug#56164: [PATCH] services: nginx: Add support for extra content in upstream blocks.
2022-06-23 11:45 [bug#56164] [PATCH] services: nginx: Add support for extra content in upstream blocks Christopher Baines
@ 2022-07-01 8:48 ` Christopher Baines
0 siblings, 0 replies; 2+ messages in thread
From: Christopher Baines @ 2022-07-01 8:48 UTC (permalink / raw)
To: Christopher Baines; +Cc: 56164-done
[-- Attachment #1: Type: text/plain, Size: 536 bytes --]
Christopher Baines <mail@cbaines.net> writes:
> I'm looking at this as I'd like to use the keepalive functionality.
>
> * gnu/services/web.scm (nginx-upstream-configuration-extra-content): New
> procedure.
> (emit-nginx-upstream-config): Include the extra-content if applicable.
> * doc/guix.texi (NGINX): Document this.
> ---
> doc/guix.texi | 3 +++
> gnu/services/web.scm | 14 +++++++++++++-
> 2 files changed, 16 insertions(+), 1 deletion(-)
I've gone ahead and pushed this as
b5c6062bcec9530a9c4044a1bd1091fdebf9bc74.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 987 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-07-01 8:49 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-23 11:45 [bug#56164] [PATCH] services: nginx: Add support for extra content in upstream blocks Christopher Baines
2022-07-01 8:48 ` bug#56164: " Christopher Baines
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).