[ostree] trivial-httpd: add option to specify the port
- From: Giuseppe Scrivano <gscrivano src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ostree] trivial-httpd: add option to specify the port
- Date: Thu, 7 May 2015 14:16:46 +0000 (UTC)
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]