Changeset 68

Show
Ignore:
Timestamp:
05/06/05 17:25:54 (4 years ago)
Author:
pragma
Message:

Small change to workspace: no more servertest.d. Use server.d instead.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/dsp/ServletCompiler.d

    r67 r68  
    8585            " -op" ~ 
    8686            " -od" ~ cfg.tempDirectory ~  
     87            " -of" ~ cfg.destServletFilename ~ 
    8788            " mango.lib" ~ 
    8889            " servlet.def" ~ 
  • trunk/dspconf/config.xml

    r67 r68  
    44    <cache-size value="2"/> 
    55    <runtime-directory value="c:\dev\dsp\trunk\runtime/"/> 
    6     <build-options value=""/> 
     6    <build-options value="-inline -release"/> 
    77</config> 
  • trunk/server.d

    r59 r68  
    11/* 
    2     Copyright (c) 2005, Eric Anderton 
    3  
     2    Copyright (c) 2005 Eric Anderton 
     3    Original (non-DSP version) - Copyright (c) 2004 Kris Bell, Scott Sanders 
     4         
    45    Permission is hereby granted, free of charge, to any person 
    56    obtaining a copy of this software and associated documentation 
     
    2425*/ 
    2526 
     27pragma(lib,"ws2_32.lib"); 
     28 
     29// for a variety of servlet IO 
     30import  mango.io.Uri, 
     31        mango.io.Socket, 
     32        mango.io.FileBucket, 
     33        mango.io.DisplayWriter, 
     34        mango.io.PickleRegistry; 
     35 
     36        // for numeric conversion 
     37import  mango.format.Int; 
     38 
     39        // for threads 
     40import  mango.base.System; 
     41 
     42        //for logging 
     43import  mango.log.Admin, 
     44        mango.log.Logger, 
     45        mango.log.Configurator; 
     46 
     47        // for testing the http server 
     48import  mango.http.server.HttpServer; 
     49 
     50        // for testing the http client 
     51import  mango.http.client.HttpClient; 
     52 
     53        // for testing the servlet-engine 
     54import  mango.servlet.Servlet, 
     55        mango.servlet.ServletContext, 
     56        mango.servlet.ServletProvider; 
     57 
     58        // for working with cache entries 
     59import  mango.cache.Payload, 
     60        mango.cache.VirtualCache; 
     61 
     62        // setup a logger for module scope 
     63private Logger mainLogger; 
     64 
     65import dsp.servlet.DSPServlet; 
     66import dsp.servlet.DSPServletProvider; 
     67import dsp.servlet.DSPServletContext; 
     68 
     69import mango.format.Int; 
     70 
     71void testServletEngine () 
     72{        
     73        mainLogger.info ("registering servlets"); 
     74 
     75        // construct a servlet-provider 
     76        DSPServletProvider sp = new DSPServletProvider("server.xml"); 
     77 
     78        // create a context for admin servlets 
     79        sp.addContext (new AdminContext (sp, "/admin")); 
     80 
     81        // create a context for example dsp servlets 
     82        sp.addContext (new DSPServletContext (sp,"/foo/bar","c:/dev/dsp/trunk/dspconf"));  
     83     
     84        // fire up a server 
     85        mainLogger.info ("starting server"); 
    2686 
    2787 
     88        /*** bind to port and an address ***/ 
     89         
     90        uint port = 0; 
     91        char[] serverPort = sp.getConfiguration.get("server-port"); 
     92        if(serverPort) port = Int.parse(serverPort); 
     93        if(port == 0) port = 80; 
     94         
     95        char[] serverAddress = sp.getConfiguration.get("server-address"); 
     96        if(!serverAddress) serverAddress = "127.0.0.1"; 
     97         
     98        InternetAddress addr = new InternetAddress (serverAddress,port); 
    2899 
     100        // create a (1 thread) server using the IProvider to service requests 
     101        uint threads = 0; 
     102        char[] serverThreads = sp.getConfiguration.get("server-threads"); 
     103        if(serverThreads) threads = Int.parse(serverThreads); 
     104        if(threads == 0) threads = 1; 
     105         
     106        HttpServer server = new HttpServer (sp, addr, threads, mainLogger); 
     107         
     108        // start listening for requests (but this thread does not listen) 
     109        server.start (); 
    29110 
     111        // send this thread to sleep for ever ... 
     112        System.sleep (); 
     113 
     114        // should never get here 
     115        mainLogger.info ("halting server"); 
     116} 
     117 
     118int main () 
     119{    
     120        BasicConfigurator.configure (); 
     121        mainLogger = Logger.getLogger ("dsp.servlets"); 
     122        mainLogger.setLevel (mainLogger.Level.Info); 
     123 
     124        try { 
     125            testServletEngine(); 
     126 
     127            mainLogger.info ("Done"); 
     128            } catch (Exception x) 
     129                    { 
     130                    mainLogger.error (x.msg); 
     131                    } 
     132        return 0; 
     133} 
  • trunk/server.xml

    r67 r68  
    66    <server-threads value="5"/> 
    77    <server-port value="8080"/> 
    8     <server-address value="127.0.0.1"/> 
     8    <server-address value="localhost"/> 
    99</config>