Changeset 5660 for cowsclient


Ignore:
Timestamp:
24/08/09 12:21:45 (10 years ago)
Author:
domlowe
Message:

added in rest of error handling for ndg security and fixed bug in wmsviz template

Location:
cowsclient/trunk/cowsclient
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • cowsclient/trunk/cowsclient/lib/wmc_util.py

    r5659 r5660  
    100100 
    101101def GetWebMapCapabilities(endpoint): 
    102  
    103      
     102    
    104103    urlstring=('%s?request=GetCapabilities&service=WMS'%(str(endpoint))) 
    105104    log.debug("GetWebMapCapabilities endpoint = %s" % (endpoint,)) 
     
    110109        filehandle = openURL(req) 
    111110        return filehandle.read() 
    112     except urllib2.HTTPError: 
    113         #TODO: manage 403 errors too. 
    114         return abort(401) 
    115  
     111    except urllib2.HTTPError, e:             
     112        log.exception("exception occurred") 
     113        if e.code == 401: 
     114            log.info ('401 unauthorized error in cowsclient') 
     115            return abort(401) #triggers ndg security framework 
     116        elif e.code == 403:  #TODO: 403 response is UNTESTED. 
     117            # User is authenticated but doesn't have the required permissions 
     118            # or an error occurred in the authorization process 
     119            # Read response                    
     120            xresponse = e.read() 
     121            # Send response to user 
     122            self.start_response("%d %s" % (e.code, e.msg), e.headers.dict.items()) 
     123            return xresponse 
     124        else: 
     125            raise e 
    116126 
    117127def GetResponse(url): 
     
    125135 
    126136def openURL(req): 
    127     log.debug("req.get_full_url() = %s" % (req.get_full_url(),)) 
    128      
     137    log.info("Making request: %s "%(req.get_full_url(),)) 
    129138    if _shouldUseProxy(req.get_full_url()): 
    130139        log.debug("using proxy") 
  • cowsclient/trunk/cowsclient/templates/wmsviz.html

    r5626 r5660  
    289289                <tr> 
    290290                        <td class="controlPanel"> 
    291                              <div class="controlContent" id="layerTree"> 
    292                                  Please wait while datasets load 
    293                              </div> 
    294                 <div> 
     291                            <div> 
    295292                    Add new WMS:<span py:replace="helpIcon('endpoint_help', 'div')"/> <input type="text" id="new_endpoint" > </input> <input type="button" id="add_new_endpoint" value="Add"/> 
    296293                </div> 
    297                           <div id="endpoint_help" class="hidden"> 
    298                                   <div class="helptxt"> 
    299                         You can add new datasets from other OGC Web Map Servers (WMS) here. Just add the base service URL  (without the WMS parameters) <br/>                                      
    300                                     e.g. http://myserver.com/mywms 
     294                <div id="endpoint_help" class="hidden"> 
     295                  <div class="helptxt"> 
     296                    You can add new datasets from other OGC Web Map Servers (WMS) here. Just add the base service URL  (without the WMS parameters) <br/> 
     297                    e.g. http://myserver.com/mywms 
     298                 </div> 
     299                </div> 
     300                <div class="controlContent" id="layerTree"> 
     301                                 Please wait while datasets load 
    301302                        </div> 
    302                </div>                                 
    303303                        </td> 
    304304                        <td class="controlPanel"> 
Note: See TracChangeset for help on using the changeset viewer.