summary refs log tree commit diff stats
path: root/lib/impure/web.nim
diff options
context:
space:
mode:
Diffstat (limited to 'lib/impure/web.nim')
-rwxr-xr-xlib/impure/web.nim57
1 files changed, 0 insertions, 57 deletions
diff --git a/lib/impure/web.nim b/lib/impure/web.nim
deleted file mode 100755
index 83d1406af..000000000
--- a/lib/impure/web.nim
+++ /dev/null
@@ -1,57 +0,0 @@
-#

-#

-#            Nimrod's Runtime Library

-#        (c) Copyright 2009 Andreas Rumpf

-#

-#    See the file "copying.txt", included in this

-#    distribution, for details about the copyright.

-#

-

-## This module contains simple high-level procedures for dealing with the
-## web. Use cases: 
-##
-## * requesting URLs
-## * sending and retrieving emails
-## * sending and retrieving files from an FTP server
-##
-## Currently only requesting URLs is implemented. The implementation depends
-## on the libcurl library!
-
-import libcurl, streams
-
-proc curlwrapperWrite(p: pointer, size, nmemb: int, 
-                      data: pointer): int {.cdecl.} = 
-  var stream = cast[PStream](data)
-  stream.writeData(stream, p, size*nmemb)
-  return size*nmemb
-
-proc URLretrieveStream*(url: string): PStream = 
-  ## retrieves the given `url` and returns a stream which one can read from to
-  ## obtain the contents. Returns nil if an error occurs.
-  result = newStringStream()
-  var hCurl = curl_easy_init() 
-  if hCurl == nil: return nil
-  if curl_easy_setopt(hCurl, CURLOPT_URL, url) != CURLE_OK: return nil
-  if curl_easy_setopt(hCurl, CURLOPT_WRITEFUNCTION, 
-                      curlwrapperWrite) != CURLE_OK: return nil
-  if curl_easy_setopt(hCurl, CURLOPT_WRITEDATA, result) != CURLE_OK: return nil
-  if curl_easy_perform(hCurl) != CURLE_OK: return nil
-  curl_easy_cleanup(hCurl)
-  
-proc URLretrieveString*(url: string): string = 
-  ## retrieves the given `url` and returns the contents. Returns nil if an
-  ## error occurs.
-  var stream = newStringStream()
-  var hCurl = curl_easy_init()
-  if hCurl == nil: return nil
-  if curl_easy_setopt(hCurl, CURLOPT_URL, url) != CURLE_OK: return nil
-  if curl_easy_setopt(hCurl, CURLOPT_WRITEFUNCTION, 
-                      curlwrapperWrite) != CURLE_OK: return nil
-  if curl_easy_setopt(hCurl, CURLOPT_WRITEDATA, stream) != CURLE_OK: return nil
-  if curl_easy_perform(hCurl) != CURLE_OK: return nil
-  curl_easy_cleanup(hCurl)
-  result = stream.data
-
-when isMainModule:
-  echo URLretrieveString("http://nimrod.ethexor.com/")
-