[mapserver-commits] r10889 - trunk/mapserver

svn at osgeo.org svn at osgeo.org
Sat Jan 22 12:25:28 EST 2011


Author: assefa
Date: 2011-01-22 09:25:28 -0800 (Sat, 22 Jan 2011)
New Revision: 10889

Added:
   trunk/mapserver/maphttp.h
Modified:
   trunk/mapserver/maphttp.c
   trunk/mapserver/mapows.c
   trunk/mapserver/mapows.h
   trunk/mapserver/nmake.opt
Log:
maphttp.c function only depend on curl (#3661)

Modified: trunk/mapserver/maphttp.c
===================================================================
--- trunk/mapserver/maphttp.c	2011-01-21 20:57:41 UTC (rev 10888)
+++ trunk/mapserver/maphttp.c	2011-01-22 17:25:28 UTC (rev 10889)
@@ -30,11 +30,11 @@
  * This should be changed to a test on the presence of libcurl which
  * is really what the real dependency is.
  */
-#if defined(USE_WMS_LYR) || defined(USE_WFS_LYR)
+#if defined(USE_CURL)
 
 #include "mapserver.h"
+#include "maphttp.h"
 #include "maperror.h"
-#include "mapows.h"
 #include "mapthread.h"
 
 MS_CVSID("$Id$")

Added: trunk/mapserver/maphttp.h
===================================================================
--- trunk/mapserver/maphttp.h	                        (rev 0)
+++ trunk/mapserver/maphttp.h	2011-01-22 17:25:28 UTC (rev 10889)
@@ -0,0 +1,122 @@
+/******************************************************************************
+ * $Id: $
+ *
+ * Project:  MapServer
+ * Purpose:  http requests related functions
+ * Author:   MapServer team.
+ *
+ ******************************************************************************
+ * Copyright (c) 1996-2005 Regents of the University of Minnesota.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in 
+ * all copies of this Software or works derived from this Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ ****************************************************************************/
+
+#ifndef MAPHTTP_H
+#define MAPHTTP_H
+
+
+
+#include "mapprimitive.h"
+#include <stdio.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define MS_HTTP_SUCCESS(status)  (status == 200 || status == 242)
+
+enum MS_HTTP_PROXY_TYPE
+{
+    MS_HTTP,
+    MS_SOCKS5
+};
+
+enum MS_HTTP_AUTH_TYPE
+{
+    MS_BASIC,
+    MS_DIGEST,
+    MS_NTLM,
+    MS_ANY,
+    MS_ANYSAFE
+};
+
+typedef struct http_request_info
+{
+    int     nLayerId;
+    char    *pszGetUrl;
+    char    *pszOutputFile;
+    int     nTimeout;
+    rectObj bbox;
+    int     width;
+    int     height;
+    int     nStatus;            /* 200=success, value < 0 if request failed */
+    char    *pszContentType;    /* Content-Type of the response */
+    char    *pszErrBuf;         /* Buffer where curl can write errors */
+    char    *pszPostRequest;    /* post request content (NULL for GET) */
+    char    *pszPostContentType;/* post request MIME type */
+    char    *pszUserAgent;      /* User-Agent, auto-generated if not set */
+    char    *pszHTTPCookieData; /* HTTP Cookie data */
+    
+    char    *pszProxyAddress;   /* The address (IP or hostname) of proxy svr */
+    long     nProxyPort;        /* The proxy's port                          */
+    enum MS_HTTP_PROXY_TYPE eProxyType; /* The type of proxy                 */
+    enum MS_HTTP_AUTH_TYPE  eProxyAuthType; /* Auth method against proxy     */
+    char    *pszProxyUsername;  /* Proxy authentication username             */
+    char    *pszProxyPassword;  /* Proxy authentication password             */
+    
+    enum MS_HTTP_AUTH_TYPE eHttpAuthType; /* HTTP Authentication type        */
+    char    *pszHttpUsername;   /* HTTP Authentication username              */
+    char    *pszHttpPassword;   /* HTTP Authentication password              */
+
+    /* For debugging/profiling */
+    int         debug;         /* Debug mode?  MS_TRUE/MS_FALSE */
+
+    /* Private members */
+    void      * curl_handle;   /* CURLM * handle */
+    FILE      * fp;            /* FILE * used during download */
+    
+    char      * result_data;   /* output if pszOutputFile is NULL */
+    int       result_size;
+    int       result_buf_size;
+
+} httpRequestObj;
+
+#ifdef USE_CURL
+
+int msHTTPInit(void);
+void msHTTPCleanup(void);
+
+void msHTTPInitRequestObj(httpRequestObj *pasReqInfo, int numRequests);
+void msHTTPFreeRequestObj(httpRequestObj *pasReqInfo, int numRequests);
+int  msHTTPExecuteRequests(httpRequestObj *pasReqInfo, int numRequests,
+                           int bCheckLocalCache);
+int  msHTTPGetFile(const char *pszGetUrl, const char *pszOutputFile, 
+                   int *pnHTTPStatus, int nTimeout, int bCheckLocalCache,
+                   int bDebug);
+
+#endif /*USE_CURL*/
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
+
+#endif /* MAPHTTP_H */

Modified: trunk/mapserver/mapows.c
===================================================================
--- trunk/mapserver/mapows.c	2011-01-21 20:57:41 UTC (rev 10888)
+++ trunk/mapserver/mapows.c	2011-01-22 17:25:28 UTC (rev 10889)
@@ -1463,7 +1463,7 @@
     int nStatus, iReq;
 
     /* Execute requests */
-#if defined(USE_WMS_LYR) || defined(USE_WFS_LYR)
+#if defined(USE_CURL)
     nStatus = msHTTPExecuteRequests(pasReqInfo, numRequests, bCheckLocalCache);
 #else
     msSetError(MS_WMSERR, "msOWSExecuteRequests() called apparently without libcurl configured, msHTTPExecuteRequests() not available.",

Modified: trunk/mapserver/mapows.h
===================================================================
--- trunk/mapserver/mapows.h	2011-01-21 20:57:41 UTC (rev 10888)
+++ trunk/mapserver/mapows.h	2011-01-22 17:25:28 UTC (rev 10889)
@@ -31,6 +31,7 @@
 #ifndef MAPOWS_H
 #define MAPOWS_H
 
+#include "maphttp.h"
 #include <time.h>
 
 /* This is the URL to the official OGC Schema Repository. We use it by 
@@ -40,67 +41,9 @@
 #define OWS_DEFAULT_SCHEMAS_LOCATION   "http://schemas.opengis.net"
 
 /*====================================================================
- *   maphttp.c
+ *   mapows.c
  *====================================================================*/
 
-#define MS_HTTP_SUCCESS(status)  (status == 200 || status == 242)
-
-enum MS_HTTP_PROXY_TYPE
-{
-    MS_HTTP,
-    MS_SOCKS5
-};
-
-enum MS_HTTP_AUTH_TYPE
-{
-    MS_BASIC,
-    MS_DIGEST,
-    MS_NTLM,
-    MS_ANY,
-    MS_ANYSAFE
-};
-
-typedef struct http_request_info
-{
-    int     nLayerId;
-    char    *pszGetUrl;
-    char    *pszOutputFile;
-    int     nTimeout;
-    rectObj bbox;
-    int     width;
-    int     height;
-    int     nStatus;            /* 200=success, value < 0 if request failed */
-    char    *pszContentType;    /* Content-Type of the response */
-    char    *pszErrBuf;         /* Buffer where curl can write errors */
-    char    *pszPostRequest;    /* post request content (NULL for GET) */
-    char    *pszPostContentType;/* post request MIME type */
-    char    *pszUserAgent;      /* User-Agent, auto-generated if not set */
-    char    *pszHTTPCookieData; /* HTTP Cookie data */
-    
-    char    *pszProxyAddress;   /* The address (IP or hostname) of proxy svr */
-    long     nProxyPort;        /* The proxy's port                          */
-    enum MS_HTTP_PROXY_TYPE eProxyType; /* The type of proxy                 */
-    enum MS_HTTP_AUTH_TYPE  eProxyAuthType; /* Auth method against proxy     */
-    char    *pszProxyUsername;  /* Proxy authentication username             */
-    char    *pszProxyPassword;  /* Proxy authentication password             */
-    
-    enum MS_HTTP_AUTH_TYPE eHttpAuthType; /* HTTP Authentication type        */
-    char    *pszHttpUsername;   /* HTTP Authentication username              */
-    char    *pszHttpPassword;   /* HTTP Authentication password              */
-
-    /* For debugging/profiling */
-    int         debug;         /* Debug mode?  MS_TRUE/MS_FALSE */
-
-    /* Private members */
-    void      * curl_handle;   /* CURLM * handle */
-    FILE      * fp;            /* FILE * used during download */
-    
-    char      * result_data;   /* output if pszOutputFile is NULL */
-    int       result_size;
-    int       result_buf_size;
-
-} httpRequestObj;
-
 typedef struct
 {
   char *pszVersion;
@@ -160,21 +103,8 @@
   char         *httpcookiedata;
 } wmsParamsObj;
 
-int msHTTPInit(void);
-void msHTTPCleanup(void);
 
-void msHTTPInitRequestObj(httpRequestObj *pasReqInfo, int numRequests);
-void msHTTPFreeRequestObj(httpRequestObj *pasReqInfo, int numRequests);
-int  msHTTPExecuteRequests(httpRequestObj *pasReqInfo, int numRequests,
-                           int bCheckLocalCache);
-int  msHTTPGetFile(const char *pszGetUrl, const char *pszOutputFile, 
-                   int *pnHTTPStatus, int nTimeout, int bCheckLocalCache,
-                   int bDebug);
 
-
-/*====================================================================
- *   mapows.c
- *====================================================================*/
 MS_DLL_EXPORT int msOWSDispatch(mapObj *map, cgiRequestObj *request, int ows_mode);
 
 MS_DLL_EXPORT const char * msOWSLookupMetadata(hashTableObj *metadata, 
@@ -294,8 +224,10 @@
                             int nVersion, hashTableObj *metadata,
                             const char *namespaces  );
 int msOWSGetLayerExtent(mapObj *map, layerObj *lp, const char *namespaces, rectObj *ext);
+
 int msOWSExecuteRequests(httpRequestObj *pasReqInfo, int numRequests,
                          mapObj *map, int bCheckLocalCache);
+
 void msOWSProcessException(layerObj *lp, const char *pszFname, 
                            int nErrorCode, const char *pszFuncName);
 char *msOWSBuildURLFilename(const char *pszPath, const char *pszURL, 

Modified: trunk/mapserver/nmake.opt
===================================================================
--- trunk/mapserver/nmake.opt	2011-01-21 20:57:41 UTC (rev 10888)
+++ trunk/mapserver/nmake.opt	2011-01-22 17:25:28 UTC (rev 10889)
@@ -512,6 +512,7 @@
 # You may also need to the full path to the windows socket library.
 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 #WMSCLIENT= -DUSE_WMS_LYR
+#CURL=-DUSE_CURL 
 #CURL_DIR=$(MS_BASE)\..\curl-7.19.4
 #WINSOCK_LIB ="C:\Program Files\Microsoft SDKs\Windows\v6.1\Lib\WS2_32.Lib"
 #WINSOCK_LIB ="C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib\WS2_32.Lib"
@@ -899,7 +900,7 @@
           $(WFS) $(WFSCLIENT) $(WCS) $(PDF) $(EGIS) \
           $(USE_GD_ANTIALIAS) $(ORACLE) $(MING_VERSION) \
           $(SDE_OPT) $(ICONV) $(GEOS) $(ZLIB) $(SOS)  $(XML2_ENABLED) $(AGG) \
-          $(OGL) $(CAIRO) $(RGBA_PNG_ENABLED) $(FRIBIDI) $(AGG_SVG_SYMBOLS) $(KML) $(GIF)
+          $(OGL) $(CAIRO) $(RGBA_PNG_ENABLED) $(FRIBIDI) $(AGG_SVG_SYMBOLS) $(KML) $(GIF) $(CURL)
 
 !IFDEF WIN64
 MS_CFLAGS=$(INCLUDES) $(MS_DEFS) -DWIN32 -D_WIN32 -DUSE_GENERIC_MS_NINT



More information about the mapserver-commits mailing list