summaryrefslogtreecommitdiffstatshomepage
path: root/examples/network/http_server.py
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2016-04-02 20:57:58 +0300
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2016-04-02 20:57:58 +0300
commitc07a03a36ddcb975478a81bef9eb6ac03fa134aa (patch)
tree5569a395741613bb1ce0b79e925a6396492efed2 /examples/network/http_server.py
parentaa3fb7b3876d868b0070ca85d97f700e0c2dec20 (diff)
downloadmicropython-c07a03a36ddcb975478a81bef9eb6ac03fa134aa.tar.gz
micropython-c07a03a36ddcb975478a81bef9eb6ac03fa134aa.zip
examples/http_server.py: Introduce main() function.
Allows to re-run code if it was imported as a module (e.g., on bare-metal ports).
Diffstat (limited to 'examples/network/http_server.py')
-rw-r--r--examples/network/http_server.py64
1 files changed, 34 insertions, 30 deletions
diff --git a/examples/network/http_server.py b/examples/network/http_server.py
index 923b4f9aef..20f33e5dd3 100644
--- a/examples/network/http_server.py
+++ b/examples/network/http_server.py
@@ -10,33 +10,37 @@ HTTP/1.0 200 OK
Hello #%d from MicroPython!
"""
-s = socket.socket()
-
-ai = socket.getaddrinfo("127.0.0.1", 8080)
-print("Bind address info:", ai)
-addr = ai[0][4]
-
-s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
-s.bind(addr)
-s.listen(5)
-print("Listening, connect your browser to http://127.0.0.1:8080/")
-
-counter = 0
-while True:
- res = s.accept()
- client_s = res[0]
- client_addr = res[1]
- print("Client address:", client_addr)
- print("Client socket:", client_s)
- print("Request:")
- if 0:
- # MicroPython socket objects support stream (aka file) interface
- # directly.
- print(client_s.read(4096))
- client_s.write(CONTENT % counter)
- else:
- print(client_s.recv(4096))
- client_s.send(CONTENT % counter)
- client_s.close()
- counter += 1
- print()
+def main(use_stream=False):
+ s = socket.socket()
+
+ ai = socket.getaddrinfo("127.0.0.1", 8080)
+ print("Bind address info:", ai)
+ addr = ai[0][4]
+
+ s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
+ s.bind(addr)
+ s.listen(5)
+ print("Listening, connect your browser to http://127.0.0.1:8080/")
+
+ counter = 0
+ while True:
+ res = s.accept()
+ client_s = res[0]
+ client_addr = res[1]
+ print("Client address:", client_addr)
+ print("Client socket:", client_s)
+ print("Request:")
+ if use_stream:
+ # MicroPython socket objects support stream (aka file) interface
+ # directly.
+ print(client_s.read(4096))
+ client_s.write(CONTENT % counter)
+ else:
+ print(client_s.recv(4096))
+ client_s.send(CONTENT % counter)
+ client_s.close()
+ counter += 1
+ print()
+
+
+main()