summary refs log tree commit diff stats
path: root/lib/pure/logging.nim
Commit message (Expand)AuthorAgeFilesLines
* renamed writeln to writeLine in libpatrick dw2015-06-191-3/+3
* Fix logger formattingSergey Avseyev2015-06-131-11/+20
* Merge pull request #2830 from yglukhov/logging-no-formatDominik Picheta2015-06-041-30/+22
|\
| * Removed formatting from logging.yglukhov2015-05-281-30/+22
* | Documented bufSize param in logging.nimx2f2015-06-011-1/+5
* | Expose bufSize parameter for file-based loggersx2f2015-05-311-5/+9
|/
* logging: make fmtStr public to be used in user defined loggersFrank Fischer2015-05-111-1/+1
* Don't run non-test code when defined(testing)Oleh Prypin2015-04-211-1/+1
* Use `^` instead of `-` in slicesdef2015-03-281-34/+34
* fixed log*(logger: RollingFileLogger, level: Level,teroz2015-03-131-1/+1
* Fix typosFederico Ceratto2015-02-151-1/+1
* newRollingFileLogger - fmtStr is always set to defaultFmtStrFabio Cevasco2015-02-061-1/+1
* Logging module is now thread-safe.Dominik Picheta2015-01-251-9/+27
* Happy new year!Guillaume Gelin2015-01-061-1/+1
* docgen should work againAraq2014-10-051-1/+4
* more modules updatedAraq2014-08-281-20/+20
* big renameAraq2014-08-271-14/+17
* Fixes docgen for logging module.Dominik Picheta2014-02-021-2/+2
* Finished logging module.Dominik Picheta2014-01-271-0/+267
* tests are green againAraq2011-06-281-144/+0
* little repo cleanupAraq2011-05-021-5/+3
* bugfix: times.epochTimeAraq2011-04-251-2/+2
* cleanup: E_Base should not be used for inheriting exceptions; documentation g...Araq2011-01-151-1/+1
* fixed pango/pangoutils new wrappersAndreas Rumpf2010-02-261-0/+0
* continued work on html/xmlparserrumpf_a@web.de2010-02-141-0/+0
* better subscript overloadingrumpf_a@web.de2010-01-031-0/+146
class='alt'>
                                                                 

                                  
 
# example program: a single-request HTTP server
#   listen for connections from clients on a server socket
#   when a connection occurs, transfer it to a session socket
#   read from it using channels
#   write to it directly
#
# After running it, navigate to localhost:8080. Your browser should display
# "SUCCESS!" and the server will terminate after one connection.

def main [
  local-scope
  socket:num <- $open-server-socket 8080/port
  $print [Mu socket creation returned ], socket, 10/newline
  return-unless socket
  session:num <- $accept socket
  contents:&:source:char, sink:&:sink:char <- new-channel 30
  sink <- start-running receive-from-socket session, sink
  query:text <- drain contents
  $print [Done reading from socket.], 10/newline
  write-to-socket session, [HTTP/1.0 200 OK
Content-type: text/plain

SUCCESS!
]
  $print 10/newline, [Wrote to and closing socket...], 10/newline
  session <- $close-socket session
  socket <- $close-socket socket
]