Ticket #7571: difference_between_7438_and_this.patch

File difference_between_7438_and_this.patch, 2.9 KB (added by Gesner Passos, 7 years ago)
  • Code/Mantid/Framework/ScriptRepository/src/ScriptRepositoryImpl.cpp

    diff --git a/Code/Mantid/Framework/ScriptRepository/src/ScriptRepositoryImpl.cpp b/Code/Mantid/Framework/ScriptRepository/src/ScriptRepositoryImpl.cpp
    index 7882622..08015e5 100644
    a b namespace API 
    787787      m_file->stream().seekg(0,std::ios::beg);   
    788788      // set the size 
    789789      req.setContentLength((int)sst.str().size()); 
    790        
    791       std::ostream& ostr = session.sendRequest(req); 
     790 
     791      std::ostream & ostr = session.sendRequest(req);  
    792792      // send the request. 
    793793      ostr << sst.str();  
    794794       
    namespace API 
    10341034                      HTTPMessage::HTTP_1_0);  
    10351035      g_log.debug() << "Receive request to delete file " << file_path << " using " << url << std::endl;  
    10361036 
     1037      // configure proxy 
     1038      std::string proxy_config;  
     1039      unsigned short proxy_port;  
     1040      if (getProxyConfig(proxy_config, proxy_port)) 
     1041        session.setProxy(proxy_config, proxy_port); 
     1042      // proxy end 
     1043 
    10371044 
    10381045      // fill up the form required from the server to delete one file, with the fields  
    10391046      // path, author, comment, email 
    namespace API 
    10451052 
    10461053      // send the request to the server 
    10471054      form.prepareSubmit(req); 
     1055       
    10481056      std::ostream& ostr = session.sendRequest(req); 
    10491057      form.write(ostr); 
    1050        
     1058 
    10511059      // get the answer from the server 
    10521060      HTTPResponse response; 
    10531061      std::istream & rs = session.receiveResponse(response); 
    bool ScriptRepositoryImpl::getProxyConfig(std::string& proxy_server, unsigned sh 
    17821790        PROXYSERVER = proxy_option; 
    17831791        PROXYPORT = 8080; 
    17841792      } 
    1785       g_log.notice() << "ScriptRepository proxy found. Host: " << PROXYSERVER << " Port: " << PROXYPORT << std::endl;  
     1793 
     1794      try{ 
     1795        // test if the proxy is valid for the remote conection 
     1796        Poco::URI uri(remote_url); 
     1797        Poco::Net::HTTPClientSession session(uri.getHost(),uri.getPort()); 
     1798        session.setProxy(PROXYSERVER, PROXYPORT); 
     1799        Poco::Net::HTTPRequest request(Poco::Net::HTTPRequest::HTTP_GET, "/", 
     1800                                       Poco::Net::HTTPMessage::HTTP_1_1); 
     1801        session.sendRequest(request); 
     1802        Poco::Net::HTTPResponse response; 
     1803        std::istream & rs = session.receiveResponse(response); 
     1804        Poco::NullOutputStream null;  
     1805        Poco::StreamCopier::copyStream(rs,null); 
     1806        g_log.notice() << "ScriptRepository proxy found. Host: " << PROXYSERVER << " Port: " << PROXYPORT << std::endl;  
     1807      }catch (Poco::Net::HostNotFoundException & ex){ 
     1808        g_log.information() << "ScriptRepository found that for this connection proxy can not be used. \n"  
     1809                            << ex.displayText() << std::endl;  
     1810        PROXYSERVER = ""; 
     1811        PROXYPORT = 0;  
     1812      } 
     1813       
    17861814    } 
     1815     
    17871816#endif     
    17881817  } 
    17891818  firstTime = false;