Ejemplo n.º 1
0
 def purge(self, purgeBatch, domainId=None):
     '''  批量清除缓存
     @param domainId: 如果指定了domainId,http body中的file-path和dir-path仅需要提供文件或者目录的uri,不能包括域名名称,路径均需以/开始,如/test/a.html 如果未指定domainId, 均需要提供包括域名在内的完整url地址,如http://www.baidu.com/test/a.html
     @type purgeBatch: PurgeBatch
     @param purgeBatch 为 PurgeBatch对象 包含files 和 dirs属性
     @rtype: PurgeResult
     @return: 返回PurgeResult结果, 可以通过PurgeResult.getLocation 获得该次缓存
     '''
     if domainId is not None:
         url = self.HOST + "/api/purge/" + str(domainId)
     else:
         url = self.HOST + '/api/purge'
     try:
         if domainId is not None:
             post = purgeBatchForOneDomainToXml(purgeBatch)
         else:
             post = purgeBatchToXml(purgeBatch)
         ret = util.httpReqeust(url, post, self.makeHeaders(), "POST")
         if ret.status == 202 or ret.status == 200:
             return purgeXmlToSuccess(ret)
         else:
             return purgeXmlToFailure(ret)
     except Exception, e:
         traceback.print_exc(file=sys.stdout)
         return PurgeResult(-1, str(e))
Ejemplo n.º 2
0
 def purge(self, purgeBatch, domainId = None):
     '''  批量清除缓存
     @param domainId: 如果指定了domainId,http body中的file-path和dir-path仅需要提供文件或者目录的uri,不能包括域名名称,路径均需以/开始,如/test/a.html 如果未指定domainId, 均需要提供包括域名在内的完整url地址,如http://www.baidu.com/test/a.html
     @type purgeBatch: PurgeBatch
     @param purgeBatch 为 PurgeBatch对象 包含files 和 dirs属性
     @rtype: PurgeResult
     @return: 返回PurgeResult结果, 可以通过PurgeResult.getLocation 获得该次缓存
     '''
     if domainId is not None:
         url = self.HOST + "/api/purge/" + str(domainId)
     else:
         url = self.HOST + '/api/purge'
     try:
         if domainId is not None:
             post = purgeBatchForOneDomainToXml(purgeBatch)
         else:
             post = purgeBatchToXml(purgeBatch)
         ret = util.httpReqeust(url, post, self.makeHeaders(), "POST")
         if ret.status == 202 or ret.status == 200:
             return purgeXmlToSuccess(ret)
         else:
             return purgeXmlToFailure(ret)
     except Exception, e:
         traceback.print_exc(file = sys.stdout)
         return PurgeResult(-1, str(e))
Ejemplo n.º 3
0
 def purgeQueryByPurgeId(self, purgeId):
     ''' 根据purgeId 查询 缓存记录
     @param purgeId: 缓存id
     @rtype: PurgeQueryResult 
     @return: 返回PurgeQueryResult结果,可以 通过PurgeQueryResult.getPurgeList()获取purge记录条目的列表
     '''
     url = self.HOST + "/api/purge/" + str(purgeId)
     try:
         ret = util.httpReqeust(url, "", self.makeHeaders(), "GET")
         if ret.status == 200:
             return purgeQueryByPurgeIdXmlToPurgeList(ret, purgeId)
         else:
             return purgeQueryByPurgeIdXmlToFailure(ret)
     except Exception, e:
         traceback.print_exc(file=sys.stdout)
         return PurgeQueryResult(-1, str(e))
Ejemplo n.º 4
0
 def getRequest(self, requestId):
     ''' 对于客户每一次请求记录/任务,都会生成一个 cnc-request-id。客户可以通过该 id查询请求记录,如果是异步的任务(HTTP 响应状态码为 HTTP 202 Accepted 的任务),也可以通过该接口查询任务最终执行结果。 
     @param requestId:  请求的标识Id
     @rtype: GetRequestResult
     @return: 通过GetRequestResult.getRequestLog() 获得查询后的请求记录
     '''
     url = self.HOST + "/api/request/" + str(requestId)
     try:
         ret = util.httpReqeust(url, "", self.makeHeaders(), "GET")
         if ret.status == 200:
             return xmlToSuccessResult(ret)
         else:
             return XmlToFailure(ret)
     except Exception, e:
         traceback.print_exc(file=sys.stdout)
         return GetRequestProcessResult(-1, str(e))
Ejemplo n.º 5
0
 def getRequest(self, requestId):
     ''' 对于客户每一次请求记录/任务,都会生成一个 cnc-request-id。客户可以通过该 id查询请求记录,如果是异步的任务(HTTP 响应状态码为 HTTP 202 Accepted 的任务),也可以通过该接口查询任务最终执行结果。 
     @param requestId:  请求的标识Id
     @rtype: GetRequestResult
     @return: 通过GetRequestResult.getRequestLog() 获得查询后的请求记录
     '''
     url = self.HOST + "/api/request/" + str(requestId) 
     try:
         ret = util.httpReqeust(url, "", self.makeHeaders(), "GET")
         if ret.status == 200:
             return xmlToSuccessResult(ret)
         else:
             return XmlToFailure(ret)
     except Exception, e:
         traceback.print_exc(file=sys.stdout)
         return GetRequestProcessResult(-1, str(e))
Ejemplo n.º 6
0
 def purgeQueryByPurgeId(self, purgeId):
     ''' 根据purgeId 查询 缓存记录
     @param purgeId: 缓存id
     @rtype: PurgeQueryResult 
     @return: 返回PurgeQueryResult结果,可以 通过PurgeQueryResult.getPurgeList()获取purge记录条目的列表
     '''
     url = self.HOST + "/api/purge/" + str(purgeId)
     try:
         ret = util.httpReqeust(url, "", self.makeHeaders(), "GET")
         if ret.status == 200:
             return purgeQueryByPurgeIdXmlToPurgeList(ret, purgeId)
         else:
             return purgeQueryByPurgeIdXmlToFailure(ret)
     except Exception, e:
         traceback.print_exc(file=sys.stdout)
         return PurgeQueryResult(-1, str(e))
Ejemplo n.º 7
0
 def listAll(self):
     ''' 获取加速所有域名列表
     @rtype: ProcessResult对象 
     @return: 通过ProcessResult.getDomainSummarys()获取DomainSummary对象的实例列表
     '''
     
     url = self.HOST + "/api/domain"
     try:
         post = ''
         ret = util.httpReqeust(url, post, self.makeHeaders(url), "GET")
         if ret.status == 200:
             return xmlToDomainList(ret)
         else:
             return xmlToFailure(ret)
     except Exception, e:
         traceback.print_exc(file=sys.stdout)
         return ProcessResult(-1, str(e))
Ejemplo n.º 8
0
 def listAll(self):
     ''' 获取加速所有域名列表
     @rtype: ProcessResult对象 
     @return: 通过ProcessResult.getDomainSummarys()获取DomainSummary对象的实例列表
     '''
     
     url = self.HOST + "/api/domain"
     try:
         post = ''
         ret = util.httpReqeust(url, post, self.makeHeaders(url), "GET")
         if ret.status == 200:
             return xmlToDomainList(ret)
         else:
             return xmlToFailure(ret)
     except Exception, e:
         traceback.print_exc(file=sys.stdout)
         return ProcessResult(-1, str(e))
Ejemplo n.º 9
0
 def enable(self, domainId):
     ''' 启用加速域名 
     @param domainId : 指定启用的域名ID
     @rtype: ProcessResult对象
     @return: 返回ProcessResult对象
     '''
     
     url = self.HOST + "/api/domain/" + str(domainId)
     try:
         post = ''
         ret = util.httpReqeust(url, post, self.makeHeaders(url), "ENABLE")
         if ret.status == 202:
             return xmlToSuccess(ret)
         else:
             return xmlToFailure(ret) 
     except Exception, e:
         traceback.print_exc(file=sys.stdout)
         return ProcessResult(-1, str(e))
Ejemplo n.º 10
0
 def add(self, domain):
     ''' 创建加速域名 
     @param domain:  新增加速域名构建的Domain对象实例
     @rtype: ProcessResult对象
     @return: 通过ProcessResult.getLocation()新域名的url
     '''
     url = self.HOST + "/api/domain"
     try:
         post = domainToXml(domain)
         #print post
         ret = util.httpReqeust(url, post, self.makeHeaders(url), "POST")
         if ret.status == 202:
             return xmlToSuccess(ret)
         else:
             return xmlToFailure(ret)
     except Exception, e:
         traceback.print_exc(file=sys.stdout)
         return ProcessResult(-1, str(e))
Ejemplo n.º 11
0
 def enable(self, domainId):
     ''' 启用加速域名 
     @param domainId : 指定启用的域名ID
     @rtype: ProcessResult对象
     @return: 返回ProcessResult对象
     '''
     
     url = self.HOST + "/api/domain/" + str(domainId)
     try:
         post = ''
         ret = util.httpReqeust(url, post, self.makeHeaders(url), "ENABLE")
         if ret.status == 202:
             return xmlToSuccess(ret)
         else:
             return xmlToFailure(ret) 
     except Exception, e:
         traceback.print_exc(file=sys.stdout)
         return ProcessResult(-1, str(e))
Ejemplo n.º 12
0
 def getLog(self, reportForm, domainId):
     ''' 获取某域名的日志下载链接 
     @type reportForm: ReportForm
     @param reportForm:  请求的起止时间
     @rtype: LogProcessResult
     @return: 通过LogProcessResult.getLogs() 获得查询后的Log对象实例列表
     '''
     url = self.HOST + "/api/report/" + str(domainId) + "/log"
     try:
         url = appendParams(url, reportForm)
         ret = util.httpReqeust(url, "", self.makeHeaders(), "GET")
         if ret.status == 200:
             return xmlToLogList(ret)
         else:
             return getLogXmlToFailure(ret)
     except Exception, e:
         traceback.print_exc(file=sys.stdout)
         return LogProcessResult(-1, str(e))
Ejemplo n.º 13
0
 def add(self, domain):
     ''' 创建加速域名 
     @param domain:  新增加速域名构建的Domain对象实例
     @rtype: ProcessResult对象
     @return: 通过ProcessResult.getLocation()新域名的url
     '''
     url = self.HOST + "/api/domain"
     try:
         post = domainToXml(domain)
         #print post
         ret = util.httpReqeust(url, post, self.makeHeaders(url), "POST")
         if ret.status == 202:
             return xmlToSuccess(ret)
         else:
             return xmlToFailure(ret)
     except Exception, e:
         traceback.print_exc(file=sys.stdout)
         return ProcessResult(-1, str(e))
Ejemplo n.º 14
0
 def getLog(self, reportForm, domainId):
     ''' 获取某域名的日志下载链接 
     @type reportForm: ReportForm
     @param reportForm:  请求的起止时间
     @rtype: LogProcessResult
     @return: 通过LogProcessResult.getLogs() 获得查询后的Log对象实例列表
     '''
     url = self.HOST + "/api/report/" + str(domainId) + "/log" 
     try:
         url = appendParams(url, reportForm)
         ret = util.httpReqeust(url, "", self.makeHeaders(), "GET")
         if ret.status == 200:
             return xmlToLogList(ret)
         else:
             return getLogXmlToFailure(ret)
     except Exception, e:
         traceback.print_exc(file=sys.stdout)
         return LogProcessResult(-1, str(e))
Ejemplo n.º 15
0
 def find(self, domainId):
     ''' 获取加速域名配置  
     @type domainId: str
     @param domainId : 指定查找的域名ID
     @rtype: ProcessResult对象
     @return: 通过ProcessResult.getDomain()返回指定的域名信息的Domain实例
     '''
     
     url = self.HOST + "/api/domain/" + str(domainId)
     try:
         post = ''
         ret = util.httpReqeust(url, post, self.makeHeaders(url), "GET")
         if ret.status == 200:
             return xmlToDomain(ret)
         else:
             return xmlToFailure(ret)
     except Exception, e:
         traceback.print_exc(file=sys.stdout)
         return ProcessResult(-1, str(e))
Ejemplo n.º 16
0
 def find(self, domainId):
     ''' 获取加速域名配置  
     @type domainId: str
     @param domainId : 指定查找的域名ID
     @rtype: ProcessResult对象
     @return: 通过ProcessResult.getDomain()返回指定的域名信息的Domain实例
     '''
     
     url = self.HOST + "/api/domain/" + str(domainId)
     try:
         post = ''
         ret = util.httpReqeust(url, post, self.makeHeaders(url), "GET")
         if ret.status == 200:
             return xmlToDomain(ret)
         else:
             return xmlToFailure(ret)
     except Exception, e:
         traceback.print_exc(file=sys.stdout)
         return ProcessResult(-1, str(e))
Ejemplo n.º 17
0
 def purgeQuery(self, dateFrom, dateTo, queryUrl=None):
     '''  查询缓存记录
     @param queryUrl 查询的url 可为空,若为空,返回该用户所有url的缓存记录
     @param dateFrom 查询时间起始  eg:'2013-10-01 01:00:00'
     @param dateTo    查询时间起始 eg:'2013-10-07 01:00:00'
     @rtype: PurgeQueryResult
     @return: 返回PurgeQueryResult结果,可以 通过PurgeQueryResult.getPurgeList()获取purge记录条目的列表
     '''
     url = self.HOST + "/api/purge"
     try:
         url = appendParams(url, queryUrl, dateFrom, dateTo)
         ret = util.httpReqeust(url, "", self.makeHeaders(), "GET")
         if ret.status == 200:
             return purgeQueryXmlToPurgeList(ret)
         else:
             return purgeQueryXmlToFailure(ret)
     except Exception, e:
         traceback.print_exc(file=sys.stdout)
         return PurgeQueryResult(-1, str(e))
Ejemplo n.º 18
0
 def purgeQuery(self, dateFrom, dateTo, queryUrl = None):
     '''  查询缓存记录
     @param queryUrl 查询的url 可为空,若为空,返回该用户所有url的缓存记录
     @param dateFrom 查询时间起始  eg:'2013-10-01 01:00:00'
     @param dateTo    查询时间起始 eg:'2013-10-07 01:00:00'
     @rtype: PurgeQueryResult
     @return: 返回PurgeQueryResult结果,可以 通过PurgeQueryResult.getPurgeList()获取purge记录条目的列表
     '''
     url = self.HOST + "/api/purge"
     try:
         url = appendParams(url, queryUrl, dateFrom, dateTo)
         ret = util.httpReqeust(url, "", self.makeHeaders(), "GET")
         if ret.status == 200:
             return purgeQueryXmlToPurgeList(ret)
         else:
             return purgeQueryXmlToFailure(ret)
     except Exception, e:
         traceback.print_exc(file=sys.stdout)
         return PurgeQueryResult(-1, str(e))
Ejemplo n.º 19
0
 def getHitReport(self, reportForm, domainId = None):
     ''' 获取某域名请求数报表 如果domainId 为None,表示 查汇总信息
     @type reportForm: ReportForm
     @param reportForm:  请求的时间和报表粒度
     @rtype: HitProcessResult
     @return: 通过HitProcessResult.getHitPoints() 获得返回的结果
     '''
     if domainId == None:
         url = self.HOST + "/api/report/hit"
     else:
         url = self.HOST + "/api/report/" + str(domainId) + "/hit" 
     try:
         url = appendParams(url, reportForm)
         ret = util.httpReqeust(url, "", self.makeHeaders(), "GET")
         if ret.status == 200:
             return xmlToHitPointList(ret, reportForm.getReportType())
         else:
             return getHitReportXmlToDefaultFailure(ret)
     except Exception, e:
         traceback.print_exc(file=sys.stdout)
         return HitProcessResult(-1, str(e))
Ejemplo n.º 20
0
 def modify(self, domain):
     ''' 修改加速域名配置 
     @type domain: Domain
     @param domain : 构建需要修改的域名的Domain实例, domain中必须设置domanId字段
     @rtype: ProcessResult对象
     @return: 返回ProcessResult对象
     '''
     
     if domain.domainId is None:
         raise '请设置domainId字段'
     
     url = self.HOST + "/api/domain/" + str(domain.domainId)
     try:
         post = domainToXml(domain)
         #print post
         ret = util.httpReqeust(url, post, self.makeHeaders(url), "PUT")
         if ret.status == 202:
             return xmlToSuccess(ret)
         else:
             return xmlToFailure(ret)   
     except Exception, e:
         traceback.print_exc(file=sys.stdout)
         return ProcessResult(-1, str(e))
Ejemplo n.º 21
0
 def modify(self, domain):
     ''' 修改加速域名配置 
     @type domain: Domain
     @param domain : 构建需要修改的域名的Domain实例, domain中必须设置domanId字段
     @rtype: ProcessResult对象
     @return: 返回ProcessResult对象
     '''
     
     if domain.domainId is None:
         raise '请设置domainId字段'
     
     url = self.HOST + "/api/domain/" + str(domain.domainId)
     try:
         post = domainToXml(domain)
         #print post
         ret = util.httpReqeust(url, post, self.makeHeaders(url), "PUT")
         if ret.status == 202:
             return xmlToSuccess(ret)
         else:
             return xmlToFailure(ret)   
     except Exception, e:
         traceback.print_exc(file=sys.stdout)
         return ProcessResult(-1, str(e))
Ejemplo n.º 22
0
 def getHitReport(self, reportForm, domainId=None):
     ''' 获取某域名请求数报表 如果domainId 为None,表示 查汇总信息
     @type reportForm: ReportForm
     @param reportForm:  请求的时间和报表粒度
     @rtype: HitProcessResult
     @return: 通过HitProcessResult.getHitPoints() 获得返回的结果
     '''
     hitreport = []
     if domainId == None:
         url = self.HOST + "/api/report/hit"
     else:
         url = self.HOST + "/api/report/" + str(domainId) + "/hit"
     try:
         query_date_period = PeriodCheck(reportForm).date_clean()
         for i in query_date_period:
             qurl = appendParams(url, i)
             ret = util.httpReqeust(qurl, "", self.makeHeaders(), "GET")
             if ret.status == 200:
                 data = xmlToHitPointList(ret, reportForm.getReportType())
                 hitreport.append(data)
         return hitreport
     except Exception:
         traceback.print_exc(file=sys.stdout)
         return []
Ejemplo n.º 23
0
 def getHitReport(self, reportForm, domainId = None):
     ''' 获取某域名请求数报表 如果domainId 为None,表示 查汇总信息
     @type reportForm: ReportForm
     @param reportForm:  请求的时间和报表粒度
     @rtype: HitProcessResult
     @return: 通过HitProcessResult.getHitPoints() 获得返回的结果
     '''
     hitreport = []
     if domainId == None:
         url = self.HOST + "/api/report/hit"
     else:
         url = self.HOST + "/api/report/" + str(domainId) + "/hit" 
     try:
         query_date_period = PeriodCheck(reportForm).date_clean()
         for i in query_date_period:
             qurl = appendParams(url, i)
             ret = util.httpReqeust(qurl, "", self.makeHeaders(), "GET")
             if ret.status == 200:
                 data = xmlToHitPointList(ret, reportForm.getReportType())
                 hitreport.append(data)
         return hitreport
     except Exception:
         traceback.print_exc(file=sys.stdout)
         return []