Return-Path: X-Original-To: python-announce@python.org Delivered-To: python-announce-list@mail.python.org X-Spam-Status: UNSURE 0.336 X-Spam-Level: *** X-Spam-Evidence: '*H*': 0.39; '*S*': 0.06; 'url:github': 0.09; 'received:209.85.218': 0.10; 'python': 0.10; 'apache': 0.14; 'include.': 0.16; 'received:eu': 0.16; 'programmer': 0.18; 'handles': 0.20; 'header:User-Agent:1': 0.26; 'necessary,': 0.29; 'environment': 0.29; 'server': 0.34; 'received:google.com': 0.35; 'received:209.85': 0.36; 'beginning': 0.36; 'received:209': 0.38; 'application': 0.39; 'easy': 0.60; 'from:no real name:2**0': 0.60; 'high': 0.60; 'your': 0.60; 'subject:The': 0.61; 'provide': 0.61; 'customized': 0.61; 'more': 0.63; 'you.': 0.64; 'request.': 0.66; 'subject:skip:B 10': 0.66; 'wanting': 0.66; 'here': 0.66; 'to:addr :comp-lang-python-announce': 0.68; 'to:addr:moderators.isc.org': 0.77; 'message-id:@googlegroups.com': 0.84; 'subject:Easy': 0.84; 'few.': 0.91 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=path:newsgroups:date:complaints-to:injection-info:nntp-posting-host :user-agent:mime-version:message-id:subject:from:injection-date:to :content-type:content-transfer-encoding; bh=14PX9v9+DI3v0jJ1Rrq9uLPVQaYZblbO+Oxv5ekKRBk=; b=Z+xMkvH4qNNf/91t+i+eeIm2ate+nfyI8I5zSqaVHvicGcC/aWRg4GHbOHiB1ruJcx e0TUAX3uMf5u/Ic+TEF8P7/8Jo1FwA+6GVAzgk4ayGfaYgtvU6yS2UGrRVc864/6WsB5 daJ9XuFJmmENSH5ii+zRnhJsD9Q9YiABgg3Blrf9FsdOehFb+PSGHawt2TNDV6EY6xHW wQ8E4V7mUhk3ezdJY9PCDL2yHGGq6fCd82tYs7pShCIHZD+2TNMRQ8hCNusYO/dlU/XW zCQ+Z+rmS+Ugkw1PkL/VZmwSY/e0VtXTiDIz+AmZNBFBVbjprCuMltCyfarmlwS6S9N8 fCIw== X-Received: by 10.182.72.196 with SMTP id f4mr4765231obv.44.1437251752265; Sat, 18 Jul 2015 13:35:52 -0700 (PDT) X-Received: by 10.140.105.102 with SMTP id b93mr400045qgf.26.1437251752136; Sat, 18 Jul 2015 13:35:52 -0700 (PDT) Newsgroups: comp.lang.python.announce Date: Sat, 18 Jul 2015 13:35:51 -0700 (PDT) Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=108.7.203.68; posting-account=8Y8zKAoAAAB8U7-6RTELMhSsq1w8zV3I User-Agent: G2/1.0 MIME-Version: 1.0 Subject: Extending BaseHTTPServer The Easy Way From: jadrianzimmer@gmail.com Injection-Date: Sat, 18 Jul 2015 20:35:52 +0000 To: comp-lang-python-announce@moderators.isc.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Mailman-Approved-At: Sun, 19 Jul 2015 07:58:03 +0200 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 Message-ID: Lines: 15 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1437285483 news.xs4all.nl 2868 [2001:888:2000:d::a6]:46285 X-Complaints-To: abuse@xs4all.nl Path: csiph.com!usenet.pasdenom.info!news.stben.net!border1.nntp.ams1.giganews.com!nntp.giganews.com!newsfeed.xs4all.nl!newsfeed7.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Xref: csiph.com comp.lang.python.announce:1790 Here is the beginning of the README.md for https://github.com/J-Adrian-Zimmer/ProgrammableServer.git If you are a Python programmer wanting to set up a server for your own appl= ication, if you don't need a high volume, general purpose server and are pu= t off by the complexities of Apache and BaseHTTPServer, then ProgrammableSe= rver may be for you. It is easy to setup and, if necessary, reconfigure. With ProgrammableServer, you can create a simple or complex application who= se demands on a web server are few. You do this by writing one or more expa= nders each of which handles a single kind of request. Writing an expander i= s made easier because you have a choice of mixins to include. An expander m= ixin consists of a few functions that provide an environment customized to = your needs.