Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

why use wsgiref simple_server?

I have a simple webapp to build, and I am just beginning to mess around with mod_wsgi. In various tutorials, the first hello world app looks something like the following:

def application(environ,start_response):
   response_body = 'Hello World'
   status = '200 OK'

   response_headers = [('Content-Type', 'text/plain'),
                       ('Content-Length', str(len(response_body)))]

   start_response(status, response_headers)
   return [response_body]

Then, later the app includes a wsgi server using wsgiref, some variation of:

from wsgiref.simple_server import make_server

def application(environ, start_response):
    response_body = 'Hello World'
    status = '200 OK'

    response_headers = [('Content-Type', 'text/plain'),
                           ('Content-Length', str(len(response_body)))]

    start_response(status, response_headers)
    return [response_body]

httpd = make_server('localhost', 8000, application)
httpd.serve_forever()

The app works without the server, so what is the server for?

like image 375
jmilloy Avatar asked Mar 11 '11 19:03

jmilloy


1 Answers

I would guess the tutorial assumes you do not have mod_wsgi set up and running. This way you can run the script from the command line and it will start the wsgiref server running the application so that you can test it without having to install Apache and mod_wsgi.

like image 134
Liquid_Fire Avatar answered Oct 16 '22 18:10

Liquid_Fire