cgidemo.cpp
上传用户:yhdzpy8989
上传日期:2007-06-13
资源大小:13604k
文件大小:4k
源码类别:

生物技术

开发平台:

C/C++

  1. /*
  2.  * ===========================================================================
  3.  * PRODUCTION $Log: cgidemo.cpp,v $
  4.  * PRODUCTION Revision 1000.1  2004/06/01 18:39:28  gouriano
  5.  * PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.7
  6.  * PRODUCTION
  7.  * ===========================================================================
  8.  */
  9. /*  $Id: cgidemo.cpp,v 1000.1 2004/06/01 18:39:28 gouriano Exp $
  10.  * ===========================================================================
  11.  *
  12.  *                            PUBLIC DOMAIN NOTICE
  13.  *               National Center for Biotechnology Information
  14.  *
  15.  *  This software/database is a "United States Government Work" under the
  16.  *  terms of the United States Copyright Act.  It was written as part of
  17.  *  the author's official duties as a United States Government employee and
  18.  *  thus cannot be copyrighted.  This software/database is freely available
  19.  *  to the public for use. The National Library of Medicine and the U.S.
  20.  *  Government have not placed any restriction on its use or reproduction.
  21.  *
  22.  *  Although all reasonable efforts have been taken to ensure the accuracy
  23.  *  and reliability of the software and data, the NLM and the U.S.
  24.  *  Government do not and cannot warrant the performance or results that
  25.  *  may be obtained by using this software or data. The NLM and the U.S.
  26.  *  Government disclaim all warranties, express or implied, including
  27.  *  warranties of performance, merchantability or fitness for any particular
  28.  *  purpose.
  29.  *
  30.  *  Please cite the author in any work or product based on this material.
  31.  *
  32.  * ===========================================================================
  33.  *
  34.  * Author:  Lewis Geer
  35.  *
  36.  * File Description:
  37.  *   sample cgi program
  38.  *
  39.  */
  40. // toolkit public headers
  41. #include <ncbi_pch.hpp>
  42. #include <cgi/ncbicgi.hpp>
  43. #include <cgi/ncbicgir.hpp>
  44. #include <test/test_assert.h>  /* This header must go last */
  45. USING_NCBI_SCOPE;  // this turns on the ncbi namespace
  46. int main(int argc, char *argv[]) 
  47. {
  48.     CCgiRequest Request(argc, argv);
  49.     CCgiResponse Response;
  50.     // write out the Content-type header
  51.     Response.WriteHeader();
  52.     // Get the multimap.  see http://www.sgi.com/Technology/STL/Multimap.html
  53.     // on how to manipulate multimaps
  54.     TCgiEntries Entries = Request.GetEntries();
  55.     // this program expects queries of the form cgidemo?name=Fred
  56.     // the following line extracts the "Fred"
  57.     string Name;
  58.     TCgiEntries::const_iterator iName = Entries.find("name");
  59.     if (iName == Entries.end()) Name = "World"; 
  60.     else Name = iName->second;
  61.     // print out the results
  62.     Response.out() << "<html><body>Hello, " << Name;
  63.     Response.out() << "</body></html>" << endl;
  64.     Response.Flush();
  65.     return 0;  
  66. }
  67. /*
  68.  * ===========================================================================
  69.  * $Log: cgidemo.cpp,v $
  70.  * Revision 1000.1  2004/06/01 18:39:28  gouriano
  71.  * PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.7
  72.  *
  73.  * Revision 1.7  2004/05/17 20:57:01  gorelenk
  74.  * Added include of PCH ncbi_pch.hpp
  75.  *
  76.  * Revision 1.6  2003/02/21 22:02:23  vakatov
  77.  * Minor code amendment to get rid of a compilation warning
  78.  *
  79.  * Revision 1.5  2002/04/16 18:47:08  ivanov
  80.  * Centralize threatment of assert() in tests.
  81.  * Added #include <test/test_assert.h>. CVS log moved to end of file.
  82.  *
  83.  * Revision 1.4  1999/07/08 16:25:05  vakatov
  84.  * Get rid of the redundant `extern "C"' at "main()"
  85.  *
  86.  * Revision 1.3  1999/05/11 03:11:55  vakatov
  87.  * Moved the CGI API(along with the relevant tests) from "corelib/" to "cgi/"
  88.  *
  89.  * Revision 1.2  1999/01/13 19:21:47  lewisg
  90.  * check for end of multimap
  91.  *
  92.  * Revision 1.1  1999/01/13 14:46:45  lewisg
  93.  * simple cgi demo
  94.  * ===========================================================================
  95.  */