Path: csiph.com!optima2.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!1.eu.feeder.erje.net!newsfeed.xs4all.nl!newsfeed7.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-announce-list@python.org Delivered-To: python-announce-list@mail.python.org X-Spam-Status: OK 0.170 X-Spam-Level: * X-Spam-Evidence: '*H*': 0.70; '*S*': 0.04; 'open-source': 0.04; 'url:github': 0.09; 'python': 0.10; 'apache': 0.14; 'include.': 0.16; 'programmer': 0.18; 'handles': 0.20; 'message- id:@mail.gmail.com': 0.27; 'necessary,': 0.29; 'environment': 0.29; 'at:': 0.31; 'server': 0.34; 'received:google.com': 0.35; 'application': 0.39; 'to:addr:python.org': 0.40; 'easy': 0.60; 'high': 0.60; 'your': 0.60; 'provide': 0.61; 'customized': 0.61; 'more': 0.63; 'you.': 0.64; 'request.': 0.66; 'wanting': 0.66; 'few.': 0.91; 'subject:skip:S 20': 0.91 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=oEinpVUbUbgeZT9t+T53aYdXked14ykvQ0vM3MK0Mdc=; b=EbyU1tjC1nZr6qMmXxy42rgu3Cl5DdKWN5eIWh5RTYYHMWqfMQSWb1xMIMdLM0LkK1 pS6uwsXqar8P7a0FRtMPbbAhRUORoeMmj9WRvX/t5UE4dxnJsyoQcwcMxEeLZgBz3xev k4qfMCfqqvX+oZSWoX+SL2kK6niUCdUelukDjs5Kqi4fMuBsMgae9vzcMHIh1cis4p1D /94DgeBvtUXNHe6dIVm5vY1WDzFkGh69UDyQ1btJNtZM46VgMQUDnwTqYKILjoWVAuSy QEPpvsbPxPnvLQyH+Vz1RGPyk1TDKZEUzVTptIG8gkpLXgPbqDM+t97jGn1QJbEcRJIK fjWA== MIME-Version: 1.0 X-Received: by 10.50.57.102 with SMTP id h6mr5011724igq.72.1437259204860; Sat, 18 Jul 2015 15:40:04 -0700 (PDT) Date: Sat, 18 Jul 2015 18:40:04 -0400 Subject: Simplifying Subclassing of SimpleHTTPRequestHandler From: J Adrian Zimmer To: python-announce-list@python.org X-Mailman-Approved-At: Sun, 19 Jul 2015 07:58:03 +0200 Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.20+ X-BeenThere: python-announce-list@python.org X-Mailman-Version: 2.1.20+ Precedence: list List-Id: Announcement-only list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Approved: python-announce-list@python.org Newsgroups: comp.lang.python.announce Message-ID: Lines: 16 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1437285483 news.xs4all.nl 2869 [2001:888:2000:d::a6]:46286 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python.announce:1789 If you are a Python programmer wanting to set up an open-source server for your own application, if you don't need a high volume, general purpose server and are put off by the complexities of Apache and BaseHTTPServer, then ProgrammableServer may be for you. It is easy to setup and, if necessary, reconfigure. With ProgrammableServer, you can create a simple or complex application whose demands on a web server are few. You do this by writing one or more *expanders* each of which handles a single kind of request. Writing an expander is made easier because you have a choice of mixins to include. An expander mixin consists of a few functions that provide an environment customized to your needs. See more at: https://github.com/J-Adrian-Zimmer/ProgrammableServer.git