[ostree] trivial-httpd: add option to specify the port



commit 0f8f668cd3c90cbaef22dfb86e691beea5a1f7ae
Author: Giuseppe Scrivano <gscrivan redhat com>
Date:   Thu May 7 11:13:43 2015 +0200

    trivial-httpd: add option to specify the port
    
    I use the trivial httpd server locally. Each time I restart the
    server, I end up modifying manually the config file for other repos so
    to point to the correct port. In this way I can just re-use the same
    port.
    
    Signed-off-by: Giuseppe Scrivano <gscrivan redhat com>

 doc/ostree-trivial-httpd.xml          |    8 ++++++++
 src/ostree/ot-builtin-trivial-httpd.c |    6 ++++--
 tests/test-commit-sign.sh             |    3 ++-
 3 files changed, 14 insertions(+), 3 deletions(-)
---
diff --git a/doc/ostree-trivial-httpd.xml b/doc/ostree-trivial-httpd.xml
index 1c24272..2b84685 100644
--- a/doc/ostree-trivial-httpd.xml
+++ b/doc/ostree-trivial-httpd.xml
@@ -91,6 +91,14 @@ Boston, MA 02111-1307, USA.
             </varlistentry>
 
             <varlistentry>
+                <term><option>--port</option>,<option>-P</option></term>
+
+                <listitem><para>
+                    Use the specified TCP port to listen on.
+                </para></listitem>
+            </varlistentry>
+
+            <varlistentry>
                 <term><option>--force-range-requests</option></term>
 
                 <listitem><para>
diff --git a/src/ostree/ot-builtin-trivial-httpd.c b/src/ostree/ot-builtin-trivial-httpd.c
index 1171714..d770189 100644
--- a/src/ostree/ot-builtin-trivial-httpd.c
+++ b/src/ostree/ot-builtin-trivial-httpd.c
@@ -35,6 +35,7 @@ static char *opt_port_file = NULL;
 static gboolean opt_daemonize;
 static gboolean opt_autoexit;
 static gboolean opt_force_ranges;
+static gint opt_port = 0;
 
 typedef struct {
   GFile *root;
@@ -44,6 +45,7 @@ typedef struct {
 static GOptionEntry options[] = {
   { "daemonize", 'd', 0, G_OPTION_ARG_NONE, &opt_daemonize, "Fork into background when ready", NULL },
   { "autoexit", 0, 0, G_OPTION_ARG_NONE, &opt_autoexit, "Automatically exit when directory is deleted", NULL 
},
+  { "port", 'P', 0, G_OPTION_ARG_INT, &opt_port, "Use the specified TCP port", NULL },
   { "port-file", 'p', 0, G_OPTION_ARG_FILENAME, &opt_port_file, "Write port number to PATH (- for standard 
output)", "PATH" },
   { "force-range-requests", 0, 0, G_OPTION_ARG_NONE, &opt_force_ranges, "Force range requests by only 
serving half of files", NULL },
   { NULL }
@@ -349,10 +351,10 @@ ostree_builtin_trivial_httpd (int argc, char **argv, GCancellable *cancellable,
 
 #if SOUP_CHECK_VERSION(2, 48, 0)
   server = soup_server_new (SOUP_SERVER_SERVER_HEADER, "ostree-httpd ", NULL);
-  if (!soup_server_listen_all (server, 0, 0, error))
+  if (!soup_server_listen_all (server, opt_port, 0, error))
     goto out;
 #else
-  server = soup_server_new (SOUP_SERVER_PORT, 0,
+  server = soup_server_new (SOUP_SERVER_PORT, opt_port,
                             SOUP_SERVER_SERVER_HEADER, "ostree-httpd ",
                             NULL);
 #endif
diff --git a/tests/test-commit-sign.sh b/tests/test-commit-sign.sh
index 4d13e1c..8d673a9 100755
--- a/tests/test-commit-sign.sh
+++ b/tests/test-commit-sign.sh
@@ -56,8 +56,9 @@ cd ${test_tmpdir}
 mkdir ${test_tmpdir}/httpd
 cd httpd
 ln -s ${test_tmpdir}/ostree-srv ostree
-${CMD_PREFIX} ostree trivial-httpd --autoexit --daemonize -p ${test_tmpdir}/httpd-port
+${CMD_PREFIX} ostree trivial-httpd --autoexit --daemonize -P 18081 -p ${test_tmpdir}/httpd-port
 port=$(cat ${test_tmpdir}/httpd-port)
+assert_streq $port 18081
 echo "http://127.0.0.1:${port}"; > ${test_tmpdir}/httpd-address
 cd ${oldpwd} 
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]