From 58cad19b922fae992364a8b890b7f2b76e599904 Mon Sep 17 00:00:00 2001
From: unknown <ldecicco@usgs.gov>
Date: Thu, 11 Sep 2014 09:34:16 -0500
Subject: [PATCH] Added error handling.

---
 R/getWQPSites.R | 35 +++++++++++++++++++++--------------
 1 file changed, 21 insertions(+), 14 deletions(-)

diff --git a/R/getWQPSites.R b/R/getWQPSites.R
index bbaf5b3a..50f20f88 100644
--- a/R/getWQPSites.R
+++ b/R/getWQPSites.R
@@ -41,24 +41,31 @@ getWQPSites <- function(...){
     message(paste("URL does not seem to exist:", urlCall))
     message(e)
     return(NA)
-  })   
+  })
   
-  numToBeReturned <- as.numeric(h$value()["Total-Site-Count"])
+  if(h$value()["Content-Type"] == "text/tab-separated-values;charset=UTF-8"){
   
-  if (!is.na(numToBeReturned) | numToBeReturned != 0){
- 
-    retval <- read.delim(textConnection(doc), header = TRUE, quote="\"", 
-                         dec=".", sep='\t', 
-                         colClasses=c('character'), 
-                         fill = TRUE)    
-    actualNumReturned <- nrow(retval)
-    
-    if(actualNumReturned != numToBeReturned) warning(numToBeReturned, " sample results were expected, ", actualNumReturned, " were returned")
-    
-    return(retval)
+    numToBeReturned <- as.numeric(h$value()["Total-Site-Count"])
     
+    if (!is.na(numToBeReturned) | numToBeReturned != 0){
+   
+      retval <- read.delim(textConnection(doc), header = TRUE, quote="\"", 
+                           dec=".", sep='\t', 
+                           colClasses=c('character'), 
+                           fill = TRUE)    
+      actualNumReturned <- nrow(retval)
+      
+      if(actualNumReturned != numToBeReturned) warning(numToBeReturned, " sample results were expected, ", actualNumReturned, " were returned")
+      
+      return(retval)
+      
+    } else {
+      warning("No data to retrieve")
+      return(NA)
+    }
   } else {
-    warning("No data to retrieve")
+    message(paste("URL caused an error:", urlCall))
+    message("Content-Type=",h$value()["Content-Type"])
     return(NA)
   }
 
-- 
GitLab