Пример #1
0
def domain_manage(req):
    if req.method == "POST":
        if not req.session.has_key("session_id"):
            req.session['current_js'] = JS_DICT["fail_create"] % 'Null session_id'
            return HttpResponseRedirect('/domain_manage/')
        s_id = req.POST.get('session_id')
        if req.session["session_id"] != s_id:
            req.session['current_js'] = JS_DICT["fail_create"] % '请勿重复提交'
            return HttpResponseRedirect('/domain_manage/')
        else:
            del req.session["session_id"]
        cache_rules = req.POST.get('cache_rules', None)
        domain_name = req.POST.get('domain_name').strip()
        service_type = req.POST.get('service_type')
        ip_str = req.POST.get('ip_list').strip()
        test_url = req.POST.get('test_url').strip()
        project_id = req.session['project_id']
        username = req.COOKIES.get('username')
        token = req.session.get('token')

        ip_list = ip_str.split('\r\n')
        ip_list.reverse()
        try:
            api = DomainApi(token)
            domain = common_struct.Domain(domain_name=domain_name,
                                          origin_ips=ip_list,
                                          test_url=test_url,
                                          service_type=service_type,
                                          cache_behaviors=cache_rules)
            res = api.add(domain, project_id, username)
        except Exception, e:
            LOG.error('Create Domain Failed')
            req.session['current_js'] = JS_DICT["fail_create"] % e
            return HttpResponseRedirect('/domain_manage/')

        if res.status == 201:
            req.session['current_js'] = JS_DICT["succ_create"]
        else:
            req.session['current_js'] = JS_DICT["fail_create"] % json.loads(res.read()).get("error")
        return HttpResponseRedirect('/domain_manage/')