| 3879 | """ |
| 3880 | |
| 3881 | def run(self, handler): |
| 3882 | from eventlet import wsgi, listen, patcher |
| 3883 | if not patcher.is_monkey_patched(os): |
| 3884 | msg = "Bottle requires eventlet.monkey_patch() (before import)" |
| 3885 | raise RuntimeError(msg) |
| 3886 | socket_args = {} |
| 3887 | for arg in ('backlog', 'family'): |
| 3888 | try: |
| 3889 | socket_args[arg] = self.options.pop(arg) |
| 3890 | except KeyError: |
| 3891 | pass |
| 3892 | address = (self.host, self.port) |
| 3893 | try: |
| 3894 | wsgi.server(listen(address, **socket_args), handler, |
| 3895 | log_output=(not self.quiet)) |
| 3896 | except TypeError: |
| 3897 | # Fallback, if we have old version of eventlet |
| 3898 | wsgi.server(listen(address), handler) |
| 3899 | |
| 3900 | |
| 3901 | class BjoernServer(ServerAdapter): |