-while True:
- nsk, addr = sk.accept()
- try:
- reqhandler.handle(request(sk=nsk, handler=reqhandler))
- finally:
- nsk.close()
+if hspec[0] not in ashd.serve.names:
+ sys.stderr.write("scgi-wsgi3: no such request handler: %s\n" % hspec[0])
+ sys.exit(1)
+hclass = ashd.serve.names[hspec[0]]
+try:
+ hargs = hclass.parseargs(**hspec[1])
+except ValueError as exc:
+ sys.stderr.write("scgi-wsgi3: %s\n" % exc)
+ sys.exit(1)
+
+reqhandler = hclass(**hargs)
+try:
+ while True:
+ nsk, addr = sk.accept()
+ try:
+ reqhandler.handle(request(sk=nsk, handler=reqhandler))
+ finally:
+ nsk.close()
+finally:
+ reqhandler.close()