diff --git a/examples/http-proxy-client/Makefile b/examples/http-proxy-client/Makefile index f168932b..25d16d98 100644 --- a/examples/http-proxy-client/Makefile +++ b/examples/http-proxy-client/Makefile @@ -1,11 +1,13 @@ PROG ?= example -ARGS ?= http://www.ladyada.net/ -MBEDTLS_DIR ?= +ARGS ?= 167.235.63.238:3128 http://info.cern.ch/ +SSL = ? -ifeq "$(MBEDTLS_DIR)" "" -else -CFLAGS += -DMG_ENABLE_MBEDTLS=1 -I$(MBEDTLS_DIR)/include -I/usr/include -CFLAGS += -L$(MBEDTLS_DIR)/lib -lmbedtls -lmbedcrypto -lmbedx509 +ifeq "$(SSL)" "MBEDTLS" +CFLAGS += -DMG_ENABLE_MBEDTLS=1 -lmbedtls -lmbedcrypto -lmbedx509 +endif + +ifeq "$(SSL)" "OPENSSL" +CFLAGS += -DMG_ENABLE_OPENSSL=1 -lssl -lcrypto endif all: $(PROG) @@ -13,7 +15,7 @@ all: $(PROG) $(PROG): main.c - $(CC) ../../mongoose.c -I../.. -W -Wall $(CFLAGS) -o $(PROG) main.c + $(CC) ../../mongoose.c -I../.. -W -Wall $(CFLAGS) $(EXTRA_CFLAGS) -o $(PROG) main.c clean: rm -rf $(PROG) *.o *.dSYM *.gcov *.gcno *.gcda *.obj *.exe *.ilk *.pdb diff --git a/examples/http-proxy-client/main.c b/examples/http-proxy-client/main.c index a04df221..b8df7eab 100644 --- a/examples/http-proxy-client/main.c +++ b/examples/http-proxy-client/main.c @@ -5,9 +5,8 @@ // make // ./example PROXY:PORT http://www.ladyada.net // -// To enable SSL/TLS for this client, build it like this: -// make MBEDTLS_DIR=/path/to/your/mbedtls/installation - +// To enable SSL/TLS, make SSL=OPENSSL or make SSL=MBEDTLS +// #include "mongoose.h" // Print HTTP response and signal that we're done @@ -41,8 +40,10 @@ static void fn(struct mg_connection *c, int ev, void *ev_data, void *fn_data) { ("Connected to proxy, status: %.*s", (int) hm.uri.len, hm.uri.ptr)); mg_iobuf_del(&c->recv, 0, n); // Send request to the target server - mg_printf(c, "GET / HTTP/1.0\r\nHost: %.*s\r\n\r\n", (int) host.len, - host.ptr); + mg_printf(c, "GET %s HTTP/1.0\r\n" + "Host: %.*s\r\n" + "\r\n", + mg_url_uri(url), (int) host.len, host.ptr); } } }