Added support for HostHeaderType and HostHeaderValue while creating the service.
Implements: blueprint host-header-forwarding Change-Id: I7fa82c7699cd300e1eb1966bbf3d25c7ab549ed6
This commit is contained in:
parent
7ede82199d
commit
1a8edc0c22
|
@ -20,11 +20,14 @@ from poppy.model.helpers import rule
|
||||||
class Origin(common.DictSerializableModel):
|
class Origin(common.DictSerializableModel):
|
||||||
"""Origin."""
|
"""Origin."""
|
||||||
|
|
||||||
def __init__(self, origin, port=80, ssl=False, rules=[]):
|
def __init__(self, origin, hostheadertype='domain', hostheadervalue='-',
|
||||||
|
port=80, ssl=False, rules=[]):
|
||||||
self._origin = origin
|
self._origin = origin
|
||||||
self._port = port
|
self._port = port
|
||||||
self._ssl = ssl
|
self._ssl = ssl
|
||||||
self._rules = rules
|
self._rules = rules
|
||||||
|
self._hostheadertype = hostheadertype
|
||||||
|
self._hostheadervalue = hostheadervalue
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def origin(self):
|
def origin(self):
|
||||||
|
@ -76,6 +79,26 @@ class Origin(common.DictSerializableModel):
|
||||||
# TODO(tonytan4ever) this field should by typed too
|
# TODO(tonytan4ever) this field should by typed too
|
||||||
self._rules = value
|
self._rules = value
|
||||||
|
|
||||||
|
@property
|
||||||
|
def hostheadertype(self):
|
||||||
|
"""hostheadertype."""
|
||||||
|
return self._hostheadertype
|
||||||
|
|
||||||
|
@hostheadertype.setter
|
||||||
|
def hostheadertype(self, value):
|
||||||
|
"""hostheadertype setter."""
|
||||||
|
self._hostheadertype = value
|
||||||
|
|
||||||
|
@property
|
||||||
|
def hostheadervalue(self):
|
||||||
|
"""hostheadervalue."""
|
||||||
|
return self._hostheadervalue
|
||||||
|
|
||||||
|
@hostheadervalue.setter
|
||||||
|
def hostheadervalue(self, value):
|
||||||
|
"""hostheadervalue setter."""
|
||||||
|
self._hostheadervalue = value
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def init_from_dict(cls, dict_obj):
|
def init_from_dict(cls, dict_obj):
|
||||||
"""Construct a model instance from a dictionary.
|
"""Construct a model instance from a dictionary.
|
||||||
|
@ -90,6 +113,10 @@ class Origin(common.DictSerializableModel):
|
||||||
o.origin = dict_obj.get("origin", "unnamed")
|
o.origin = dict_obj.get("origin", "unnamed")
|
||||||
o.port = dict_obj.get("port", 80)
|
o.port = dict_obj.get("port", 80)
|
||||||
o.ssl = dict_obj.get("ssl", False)
|
o.ssl = dict_obj.get("ssl", False)
|
||||||
|
o.hostheadertype = dict_obj.get("hostheadertype", "domain")
|
||||||
|
o.hostheadervalue = dict_obj.get("hostheadervalue", None)
|
||||||
|
if o.hostheadertype == 'origin':
|
||||||
|
o.hostheadervalue = o.origin
|
||||||
rules_dict_list = dict_obj.get("rules", [])
|
rules_dict_list = dict_obj.get("rules", [])
|
||||||
o.rules = []
|
o.rules = []
|
||||||
for rule_dict in rules_dict_list:
|
for rule_dict in rules_dict_list:
|
||||||
|
@ -98,7 +125,6 @@ class Origin(common.DictSerializableModel):
|
||||||
new_rule.from_dict(rule_dict)
|
new_rule.from_dict(rule_dict)
|
||||||
o.rules.append(new_rule)
|
o.rules.append(new_rule)
|
||||||
return o
|
return o
|
||||||
return o
|
|
||||||
|
|
||||||
def to_dict(self):
|
def to_dict(self):
|
||||||
result = common.DictSerializableModel.to_dict(self)
|
result = common.DictSerializableModel.to_dict(self)
|
||||||
|
|
|
@ -478,6 +478,15 @@ class ServiceController(base.ServiceBase):
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if origin.hostheadertype == 'custom':
|
||||||
|
origin_behavior_dict['params']['hostHeaderType'] = 'fixed'
|
||||||
|
origin_behavior_dict['params']['hostHeaderValue'] = \
|
||||||
|
origin.hostheadervalue
|
||||||
|
elif origin.hostheadertype == 'origin':
|
||||||
|
origin_behavior_dict['params']['hostHeaderType'] = 'origin'
|
||||||
|
origin_behavior_dict['params']['hostHeaderValue'] = \
|
||||||
|
origin.hostheadervalue
|
||||||
|
|
||||||
wildcards = []
|
wildcards = []
|
||||||
|
|
||||||
# this is the global 'url-wildcard' rule
|
# this is the global 'url-wildcard' rule
|
||||||
|
|
|
@ -595,6 +595,8 @@ class ServicesController(base.ServicesController):
|
||||||
origins = [
|
origins = [
|
||||||
origin.Origin(
|
origin.Origin(
|
||||||
o['origin'],
|
o['origin'],
|
||||||
|
o.get('hostheadertype', 'domain'),
|
||||||
|
o.get('hostheadervalue', None),
|
||||||
o.get('port', 80),
|
o.get('port', 80),
|
||||||
o.get('ssl', False), [
|
o.get('ssl', False), [
|
||||||
rule.Rule(
|
rule.Rule(
|
||||||
|
|
|
@ -20,10 +20,14 @@ from poppy.transport.pecan.models.request import rule
|
||||||
def load_from_json(json_data):
|
def load_from_json(json_data):
|
||||||
origin_name = json_data.get("origin")
|
origin_name = json_data.get("origin")
|
||||||
origin_name = origin_name.rstrip("/")
|
origin_name = origin_name.rstrip("/")
|
||||||
|
hostheadertype = json_data.get("hostheadertype", "domain")
|
||||||
|
hostheadervalue = json_data.get("hostheadervalue", None)
|
||||||
port = json_data.get("port", 80)
|
port = json_data.get("port", 80)
|
||||||
ssl = json_data.get("ssl", False)
|
ssl = json_data.get("ssl", False)
|
||||||
rules = json_data.get("rules", [])
|
rules = json_data.get("rules", [])
|
||||||
rules = [rule.load_from_json(r) for r in rules]
|
rules = [rule.load_from_json(r) for r in rules]
|
||||||
result = origin.Origin(origin_name, port, ssl)
|
result = origin.Origin(origin=origin_name, hostheadertype=hostheadertype,
|
||||||
|
hostheadervalue=hostheadervalue, port=port,
|
||||||
|
ssl=ssl)
|
||||||
result.rules = rules
|
result.rules = rules
|
||||||
return result
|
return result
|
||||||
|
|
|
@ -31,3 +31,6 @@ class Model(collections.OrderedDict):
|
||||||
self['port'] = origin.port
|
self['port'] = origin.port
|
||||||
self['ssl'] = origin.ssl
|
self['ssl'] = origin.ssl
|
||||||
self['rules'] = [rule.Model(r) for r in origin.rules]
|
self['rules'] = [rule.Model(r) for r in origin.rules]
|
||||||
|
self['hostheadertype'] = origin.hostheadertype
|
||||||
|
if origin.hostheadervalue is not None:
|
||||||
|
self['hostheadervalue'] = origin.hostheadervalue
|
||||||
|
|
|
@ -20,7 +20,6 @@ from poppy.transport.validators import schema_base
|
||||||
|
|
||||||
|
|
||||||
class ServiceSchema(schema_base.SchemaBase):
|
class ServiceSchema(schema_base.SchemaBase):
|
||||||
|
|
||||||
'''JSON Schmema validation for /service.'''
|
'''JSON Schmema validation for /service.'''
|
||||||
|
|
||||||
schema = {
|
schema = {
|
||||||
|
@ -61,7 +60,7 @@ class ServiceSchema(schema_base.SchemaBase):
|
||||||
'required': True,
|
'required': True,
|
||||||
'type': 'string',
|
'type': 'string',
|
||||||
'enum': [
|
'enum': [
|
||||||
'http']
|
'http']
|
||||||
},
|
},
|
||||||
# When protocol is http
|
# When protocol is http
|
||||||
# certificate must be null
|
# certificate must be null
|
||||||
|
@ -83,13 +82,13 @@ class ServiceSchema(schema_base.SchemaBase):
|
||||||
'required': True,
|
'required': True,
|
||||||
'type': 'string',
|
'type': 'string',
|
||||||
'enum': [
|
'enum': [
|
||||||
'https']
|
'https']
|
||||||
},
|
},
|
||||||
'certificate': {
|
'certificate': {
|
||||||
'required': True,
|
'required': True,
|
||||||
'type': 'string',
|
'type': 'string',
|
||||||
'enum': [
|
'enum': [
|
||||||
'shared']
|
'shared']
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"additionalProperties": False
|
"additionalProperties": False
|
||||||
|
@ -106,14 +105,14 @@ class ServiceSchema(schema_base.SchemaBase):
|
||||||
'required': True,
|
'required': True,
|
||||||
'type': 'string',
|
'type': 'string',
|
||||||
'enum': [
|
'enum': [
|
||||||
'https']
|
'https']
|
||||||
},
|
},
|
||||||
'certificate': {
|
'certificate': {
|
||||||
'required': True,
|
'required': True,
|
||||||
'type': 'string',
|
'type': 'string',
|
||||||
'enum': [
|
'enum': [
|
||||||
'san',
|
'san',
|
||||||
'custom']
|
'custom']
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"additionalProperties": False
|
"additionalProperties": False
|
||||||
|
@ -127,50 +126,116 @@ class ServiceSchema(schema_base.SchemaBase):
|
||||||
# the first origin does not have to
|
# the first origin does not have to
|
||||||
# have rules field, it will be defaulted
|
# have rules field, it will be defaulted
|
||||||
# to global url matching
|
# to global url matching
|
||||||
'items': [{
|
'items': {
|
||||||
'type': 'object',
|
'type': [{
|
||||||
'properties': {
|
'type': 'object',
|
||||||
'origin': {
|
'properties': {
|
||||||
'type': 'string',
|
'origin': {
|
||||||
'pattern': re.compile(
|
'type': 'string',
|
||||||
'^(([^:/?#]+):)?'
|
'pattern': re.compile(
|
||||||
'(//([^/?#]*))?'
|
'^(([^:/?#]+):)?'
|
||||||
'([^?#]*)(\?([^#]*))?'
|
'(//([^/?#]*))?'
|
||||||
'(#(.*))?$',
|
'([^?#]*)(\?([^#]*))?'
|
||||||
re.UNICODE
|
'(#(.*))?$',
|
||||||
),
|
re.UNICODE
|
||||||
'required': True,
|
),
|
||||||
'minLength': 3,
|
'required': True,
|
||||||
'maxLength': 253},
|
'minLength': 3,
|
||||||
'port': {
|
'maxLength': 253},
|
||||||
'type': 'integer',
|
'port': {
|
||||||
'enum': [
|
'type': 'integer',
|
||||||
80,
|
'enum': [
|
||||||
443]},
|
80,
|
||||||
'ssl': {
|
443]},
|
||||||
'type': 'boolean'},
|
'ssl': {
|
||||||
'rules': {
|
'type': 'boolean'},
|
||||||
'type': 'array',
|
'rules': {
|
||||||
'items': {
|
'type': 'array',
|
||||||
'type': 'object',
|
'items': {
|
||||||
'properties': {
|
'type': 'object',
|
||||||
'name': {
|
'properties': {
|
||||||
'type': 'string',
|
'name': {
|
||||||
'required': True,
|
'type': 'string',
|
||||||
'minLength': 1,
|
'required': True,
|
||||||
'maxLength': 256
|
'minLength': 1,
|
||||||
},
|
'maxLength': 256
|
||||||
'request_url': {
|
},
|
||||||
'type': 'string',
|
'request_url': {
|
||||||
'required': True,
|
'type': 'string',
|
||||||
'minLength': 1,
|
'required': True,
|
||||||
'maxLength': 1024
|
'minLength': 1,
|
||||||
|
'maxLength': 1024
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
'hostheadertype': {
|
||||||
|
'type': 'string',
|
||||||
|
'enum': ['domain', 'origin'],
|
||||||
|
'required': False,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
'type': 'object',
|
||||||
|
'properties': {
|
||||||
|
'origin': {
|
||||||
|
'type': 'string',
|
||||||
|
'pattern': re.compile(
|
||||||
|
'^(([^:/?#]+):)?'
|
||||||
|
'(//([^/?#]*))?'
|
||||||
|
'([^?#]*)(\?([^#]*))?'
|
||||||
|
'(#(.*))?$',
|
||||||
|
re.UNICODE
|
||||||
|
),
|
||||||
|
'required': True,
|
||||||
|
'minLength': 3,
|
||||||
|
'maxLength': 253},
|
||||||
|
'port': {
|
||||||
|
'type': 'integer',
|
||||||
|
'enum': [
|
||||||
|
80,
|
||||||
|
443]},
|
||||||
|
'ssl': {
|
||||||
|
'type': 'boolean'},
|
||||||
|
'rules': {
|
||||||
|
'type': 'array',
|
||||||
|
'items': {
|
||||||
|
'type': 'object',
|
||||||
|
'properties': {
|
||||||
|
'name': {
|
||||||
|
'type': 'string',
|
||||||
|
'required': True,
|
||||||
|
'minLength': 1,
|
||||||
|
'maxLength': 256
|
||||||
|
},
|
||||||
|
'request_url': {
|
||||||
|
'type': 'string',
|
||||||
|
'required': True,
|
||||||
|
'minLength': 1,
|
||||||
|
'maxLength': 1024
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
'hostheadertype': {
|
||||||
|
'type': 'string',
|
||||||
|
'enum': ['custom'],
|
||||||
|
'required': False,
|
||||||
|
},
|
||||||
|
'hostheadervalue': {
|
||||||
|
'type': 'string',
|
||||||
|
'pattern': re.compile(
|
||||||
|
'^(([^:/?#]+):)?'
|
||||||
|
'(//([^/?#]*))?'
|
||||||
|
'([^?#]*)(\?([^#]*))?'
|
||||||
|
'(#(.*))?$',
|
||||||
|
re.UNICODE
|
||||||
|
),
|
||||||
|
'required': True,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}],
|
]},
|
||||||
'required': True,
|
'required': True,
|
||||||
'minItems': 1,
|
'minItems': 1,
|
||||||
'maxItems': 10,
|
'maxItems': 10,
|
||||||
|
@ -220,6 +285,71 @@ class ServiceSchema(schema_base.SchemaBase):
|
||||||
'required': True,
|
'required': True,
|
||||||
'minItems': 1,
|
'minItems': 1,
|
||||||
},
|
},
|
||||||
|
'hostheadertype': {
|
||||||
|
'type': 'string',
|
||||||
|
'enum': ['domain', 'origin'],
|
||||||
|
'required': False,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
'type': 'object',
|
||||||
|
'properties': {
|
||||||
|
'origin': {
|
||||||
|
'type': 'string',
|
||||||
|
'pattern': re.compile(
|
||||||
|
'^(([^:/?#]+):)?'
|
||||||
|
'(//([^/?#]*))?'
|
||||||
|
'([^?#]*)(\?([^#]*))?'
|
||||||
|
'(#(.*))?$',
|
||||||
|
re.UNICODE
|
||||||
|
),
|
||||||
|
'required': True,
|
||||||
|
'minLength': 3,
|
||||||
|
'maxLength': 253},
|
||||||
|
'port': {
|
||||||
|
'type': 'integer',
|
||||||
|
'enum': [
|
||||||
|
80,
|
||||||
|
443]},
|
||||||
|
'ssl': {
|
||||||
|
'type': 'boolean'},
|
||||||
|
'rules': {
|
||||||
|
'type': 'array',
|
||||||
|
'items': {
|
||||||
|
'type': 'object',
|
||||||
|
'properties': {
|
||||||
|
'name': {
|
||||||
|
'type': 'string',
|
||||||
|
'required': True,
|
||||||
|
'minLength': 1,
|
||||||
|
'maxLength': 256,
|
||||||
|
},
|
||||||
|
'request_url': {
|
||||||
|
'type': 'string',
|
||||||
|
'required': True,
|
||||||
|
'minLength': 1,
|
||||||
|
'maxLength': 1024,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
'required': True,
|
||||||
|
'minItems': 1,
|
||||||
|
},
|
||||||
|
'hostheadertype': {
|
||||||
|
'type': 'string',
|
||||||
|
'enum': ['custom'],
|
||||||
|
'required': False,
|
||||||
|
},
|
||||||
|
'hostheadervalue': {
|
||||||
|
'type': 'string',
|
||||||
|
'pattern': re.compile(
|
||||||
|
'^(([^:/?#]+):)?'
|
||||||
|
'(//([^/?#]*))?'
|
||||||
|
'([^?#]*)(\?([^#]*))?'
|
||||||
|
'(#(.*))?$',
|
||||||
|
re.UNICODE
|
||||||
|
),
|
||||||
|
'required': True,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
pbr
|
pbr==0.11.0
|
||||||
|
|
||||||
Babel>=1.3
|
Babel>=1.3
|
||||||
netaddr>=0.7.6
|
netaddr>=0.7.6
|
||||||
|
|
|
@ -11,8 +11,9 @@
|
||||||
{
|
{
|
||||||
"name" : "default",
|
"name" : "default",
|
||||||
"request_url" : "/*"
|
"request_url" : "/*"
|
||||||
}
|
}],
|
||||||
]
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}],
|
}],
|
||||||
"caching_list": [
|
"caching_list": [
|
||||||
{
|
{
|
||||||
|
@ -58,11 +59,12 @@
|
||||||
"port": 80,
|
"port": 80,
|
||||||
"ssl": false,
|
"ssl": false,
|
||||||
"rules": [
|
"rules": [
|
||||||
{
|
{
|
||||||
"name" : "default",
|
"name": "default",
|
||||||
"request_url" : "/*"
|
"request_url": "/*"
|
||||||
}
|
}],
|
||||||
]
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}],
|
}],
|
||||||
"caching_list": []
|
"caching_list": []
|
||||||
},
|
},
|
||||||
|
@ -78,7 +80,9 @@
|
||||||
"name": "default rule",
|
"name": "default rule",
|
||||||
"request_url": "/*"
|
"request_url": "/*"
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"origin": "mywebsite2.com",
|
"origin": "mywebsite2.com",
|
||||||
|
@ -89,7 +93,9 @@
|
||||||
"name": "images rules",
|
"name": "images rules",
|
||||||
"request_url": "/images/*"
|
"request_url": "/images/*"
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"caching_list": [{"name": "default",
|
"caching_list": [{"name": "default",
|
||||||
|
@ -109,7 +115,9 @@
|
||||||
"name": "default rule",
|
"name": "default rule",
|
||||||
"request_url": "/*"
|
"request_url": "/*"
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"origin": "mywebsite2.com",
|
"origin": "mywebsite2.com",
|
||||||
|
@ -120,7 +128,9 @@
|
||||||
"name": "images rules",
|
"name": "images rules",
|
||||||
"request_url": "/images/test.jpg"
|
"request_url": "/images/test.jpg"
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"caching_list": [{"name": "default",
|
"caching_list": [{"name": "default",
|
||||||
|
@ -137,11 +147,12 @@
|
||||||
"port": 80,
|
"port": 80,
|
||||||
"ssl": false,
|
"ssl": false,
|
||||||
"rules": [
|
"rules": [
|
||||||
{
|
{
|
||||||
"name" : "default",
|
"name": "default",
|
||||||
"request_url" : "/*"
|
"request_url": "/*"
|
||||||
}
|
}],
|
||||||
]
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}],
|
}],
|
||||||
"caching_list": [
|
"caching_list": [
|
||||||
{
|
{
|
||||||
|
@ -192,7 +203,9 @@
|
||||||
"name" : "default",
|
"name" : "default",
|
||||||
"request_url" : "/*"
|
"request_url" : "/*"
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}],
|
}],
|
||||||
"caching_list": [
|
"caching_list": [
|
||||||
{
|
{
|
||||||
|
@ -242,8 +255,111 @@
|
||||||
"name" : "default",
|
"name" : "default",
|
||||||
"request_url" : "/*"
|
"request_url" : "/*"
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
|
}],
|
||||||
|
"caching_list": []
|
||||||
|
},
|
||||||
|
"origin_hostheadertype": {
|
||||||
|
"name": "origin_hostheadertype",
|
||||||
|
"domain_list": [{"domain": "my-website.com", "protocol": "http"}],
|
||||||
|
"origin_list": [{"origin": "mywebsite1.com",
|
||||||
|
"port": 80,
|
||||||
|
"ssl": false,
|
||||||
|
"hostheadertype": "origin",
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"name" : "default",
|
||||||
|
"request_url" : "/*"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}],
|
}],
|
||||||
"caching_list": []
|
"caching_list": []
|
||||||
|
},
|
||||||
|
"custom_hostheadertype": {
|
||||||
|
"name": "custom_hostheadertype",
|
||||||
|
"domain_list": [{"domain": "my-website.com", "protocol": "http"}],
|
||||||
|
"origin_list": [{"origin": "mywebsite1.com",
|
||||||
|
"port": 80,
|
||||||
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "customweb.com",
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"name" : "default",
|
||||||
|
"request_url" : "/*"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}],
|
||||||
|
"caching_list": []
|
||||||
|
},
|
||||||
|
"domain_hostheadertype": {
|
||||||
|
"name": "domain_hostheadertype",
|
||||||
|
"domain_list": [{"domain": "my-website.com", "protocol": "http"}],
|
||||||
|
"origin_list": [{"origin": "mywebsite1.com",
|
||||||
|
"port": 80,
|
||||||
|
"ssl": false,
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"name" : "default",
|
||||||
|
"request_url" : "/*"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}],
|
||||||
|
"caching_list": []
|
||||||
|
},
|
||||||
|
"origin_hostheadertype_other_hostheadervalue": {
|
||||||
|
"name": "origin_hostheadertype_other_hostheadervalue",
|
||||||
|
"domain_list": [{"domain": "my-website.com", "protocol": "http"}],
|
||||||
|
"origin_list": [{"origin": "mywebsite1.com",
|
||||||
|
"port": 80,
|
||||||
|
"ssl": false,
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"name" : "default",
|
||||||
|
"request_url" : "/*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"hostheadertype": "origin",
|
||||||
|
"hostheadervalue": "www.somewebsite.com"
|
||||||
|
}],
|
||||||
|
"caching_list": []
|
||||||
|
},
|
||||||
|
"multiple_hostheadertypes": {
|
||||||
|
"name": "multiple_hostheadertypes",
|
||||||
|
"domain_list": [{"domain": "my-website.com", "protocol": "http"}],
|
||||||
|
"origin_list": [{"origin": "mywebsite1.com",
|
||||||
|
"port": 80,
|
||||||
|
"ssl": false,
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"name" : "default",
|
||||||
|
"request_url" : "/*"
|
||||||
|
}
|
||||||
|
]},
|
||||||
|
{"origin": "www.mywebsite23.com",
|
||||||
|
"port": 80,
|
||||||
|
"ssl": false,
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"name" : "images",
|
||||||
|
"request_url" : "/images/testpic.jpg"
|
||||||
|
}],
|
||||||
|
"hostheadertype": "origin"
|
||||||
|
},
|
||||||
|
{"origin": "www.mywebsite34.com",
|
||||||
|
"port": 80,
|
||||||
|
"ssl": false,
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"name" : "videos",
|
||||||
|
"request_url" : "/videos/testvideo.mp4"
|
||||||
|
}],
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.mycustomweb.com"
|
||||||
|
}],
|
||||||
|
"caching_list": []
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -713,5 +713,62 @@
|
||||||
"rules": [{"name" : "index",
|
"rules": [{"name" : "index",
|
||||||
"request_url" : "/index.htm"}]}],
|
"request_url" : "/index.htm"}]}],
|
||||||
"restrictions_list": []
|
"restrictions_list": []
|
||||||
|
},
|
||||||
|
"invalid_hostheadertype":{
|
||||||
|
"service_name": "invalid_hostheadertype",
|
||||||
|
"domain_list": [{"domain": "mywebsite.com"}],
|
||||||
|
"origin_list": [{"origin": "mywebsite1.com",
|
||||||
|
"port": 443,
|
||||||
|
"ssl": false,
|
||||||
|
"hostheadertype": "org"}],
|
||||||
|
"caching_list": [],
|
||||||
|
"restrictions_list": []
|
||||||
|
},
|
||||||
|
"missing_hostheadervalue":{
|
||||||
|
"service_name": "missing_hostheadervalue",
|
||||||
|
"domain_list": [{"domain": "mywebsite.com"}],
|
||||||
|
"origin_list": [{"origin": "mywebsite1.com",
|
||||||
|
"port": 443,
|
||||||
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom"}],
|
||||||
|
"caching_list": [],
|
||||||
|
"restrictions_list": []
|
||||||
|
},
|
||||||
|
"nonASCII_hostheadertype": {
|
||||||
|
"service_name": "nonASCII_hostheadertype",
|
||||||
|
"domain_list": [
|
||||||
|
{
|
||||||
|
"domain": "mywebsite.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"origin_list": [
|
||||||
|
{
|
||||||
|
"origin": "mywebsite1.com",
|
||||||
|
"port": 443,
|
||||||
|
"ssl": false,
|
||||||
|
"hostheadertype": ": איבערזעצן"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"caching_list": [],
|
||||||
|
"restrictions_list": []
|
||||||
|
},
|
||||||
|
"nonASCII_hostheadervalue": {
|
||||||
|
"service_name": "nonASCII_hostheadervalue",
|
||||||
|
"domain_list": [
|
||||||
|
{
|
||||||
|
"domain": "mywebsite.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"origin_list": [
|
||||||
|
{
|
||||||
|
"origin": "mywebsite1.com",
|
||||||
|
"port": 443,
|
||||||
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": ": איבערזעצן"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"caching_list": [],
|
||||||
|
"restrictions_list": []
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,9 @@
|
||||||
"origin_list": [{"origin": "mywebsite1.com",
|
"origin_list": [{"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": true,
|
"ssl": true,
|
||||||
"rules": [{ "name" : "default", "request_url" : "/*"}]
|
"rules": [{ "name" : "default", "request_url" : "/*"}],
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}],
|
}],
|
||||||
"caching_list": [{"name": "default", "ttl": 3600},
|
"caching_list": [{"name": "default", "ttl": 3600},
|
||||||
{"name": "home",
|
{"name": "home",
|
||||||
|
@ -29,7 +31,9 @@
|
||||||
"certificate": "san"}],
|
"certificate": "san"}],
|
||||||
"origin_list": [{"origin": "mywebsite1.com",
|
"origin_list": [{"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": true}],
|
"ssl": true,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"}],
|
||||||
"caching_list": [{"name": "default", "ttl": 3600},
|
"caching_list": [{"name": "default", "ttl": 3600},
|
||||||
{"name": "home",
|
{"name": "home",
|
||||||
"ttl": 1200,
|
"ttl": 1200,
|
||||||
|
@ -48,7 +52,9 @@
|
||||||
"certificate": "custom"}],
|
"certificate": "custom"}],
|
||||||
"origin_list": [{"origin": "mywebsite1.com",
|
"origin_list": [{"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": true}],
|
"ssl": true,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"}],
|
||||||
"caching_list": [{"name": "default", "ttl": 3600},
|
"caching_list": [{"name": "default", "ttl": 3600},
|
||||||
{"name": "home",
|
{"name": "home",
|
||||||
"ttl": 1200,
|
"ttl": 1200,
|
||||||
|
@ -68,7 +74,9 @@
|
||||||
],
|
],
|
||||||
"origin_list": [{"origin": "mywebsite1.com",
|
"origin_list": [{"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": true}],
|
"ssl": true,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"}],
|
||||||
"caching_list": [{"name": "default", "ttl": 3600},
|
"caching_list": [{"name": "default", "ttl": 3600},
|
||||||
{"name": "home",
|
{"name": "home",
|
||||||
"ttl": 1200,
|
"ttl": 1200,
|
||||||
|
|
|
@ -31,7 +31,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -78,7 +80,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -125,7 +129,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -172,7 +178,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -219,7 +227,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -266,7 +276,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -313,7 +325,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -360,7 +374,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -407,7 +423,9 @@
|
||||||
{
|
{
|
||||||
"origin": "%3Cscript%3Ealert%281%29%3C/script%3E",
|
"origin": "%3Cscript%3Ealert%281%29%3C/script%3E",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -454,7 +472,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": "%3Cscript%3Ealert%281%29%3C/script%3E",
|
"port": "%3Cscript%3Ealert%281%29%3C/script%3E",
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -501,7 +521,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -548,7 +570,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -595,7 +619,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -642,7 +668,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -689,7 +717,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": "%3Cscript%3Ealert%281%29%3C/script%3E"
|
"ssl": "%3Cscript%3Ealert%281%29%3C/script%3E",
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -736,7 +766,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -783,7 +815,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -830,7 +864,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -877,7 +913,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -924,7 +962,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -971,7 +1011,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -1018,7 +1060,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -1065,7 +1109,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -1112,7 +1158,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -1159,7 +1207,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -1206,7 +1256,9 @@
|
||||||
{
|
{
|
||||||
"origin": "%22",
|
"origin": "%22",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -1253,7 +1305,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": "%22",
|
"port": "%22",
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -1300,7 +1354,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -1347,7 +1403,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -1394,7 +1452,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -1441,7 +1501,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -1488,7 +1550,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": "%22"
|
"ssl": "%22",
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -1535,7 +1599,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -1582,7 +1648,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -1629,7 +1697,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -1676,7 +1746,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -1723,7 +1795,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -1770,7 +1844,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -1817,7 +1893,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -1864,7 +1942,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -1911,7 +1991,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -1958,7 +2040,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -2005,7 +2089,9 @@
|
||||||
{
|
{
|
||||||
"origin": "<script>alert(1)</script>",
|
"origin": "<script>alert(1)</script>",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -2052,7 +2138,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": "<script>alert(1)</script>",
|
"port": "<script>alert(1)</script>",
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -2099,7 +2187,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -2146,7 +2236,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -2193,7 +2285,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -2240,7 +2334,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -2287,7 +2383,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": "<script>alert(1)</script>"
|
"ssl": "<script>alert(1)</script>",
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -2334,7 +2432,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -2381,7 +2481,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -2428,7 +2530,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -2475,7 +2579,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -2522,7 +2628,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -2569,7 +2677,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -2616,7 +2726,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -2663,7 +2775,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -2710,7 +2824,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -2757,7 +2873,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -2804,7 +2922,9 @@
|
||||||
{
|
{
|
||||||
"origin": "<",
|
"origin": "<",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -2851,7 +2971,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": "<",
|
"port": "<",
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -2898,7 +3020,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -2945,7 +3069,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -2992,7 +3118,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -3039,7 +3167,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -3086,7 +3216,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": "<"
|
"ssl": "<",
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -3133,7 +3265,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -3180,7 +3314,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -3227,7 +3363,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -3274,7 +3412,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -3321,7 +3461,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -3368,7 +3510,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -3415,7 +3559,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -3462,7 +3608,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -3509,7 +3657,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -3556,7 +3706,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -3603,7 +3755,9 @@
|
||||||
{
|
{
|
||||||
"origin": ">",
|
"origin": ">",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -3650,7 +3804,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": ">",
|
"port": ">",
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -3697,7 +3853,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -3744,7 +3902,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -3791,7 +3951,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -3838,7 +4000,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -3885,7 +4049,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": ">"
|
"ssl": ">",
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -3932,7 +4098,9 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
@ -3979,7 +4147,107 @@
|
||||||
{
|
{
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 443,
|
"port": 443,
|
||||||
"ssl": false
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"restrictions_list": [
|
||||||
|
{
|
||||||
|
"name": "test",
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"name": "only me",
|
||||||
|
"referrer": "www.mywebsite.com"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"xss_escaped_jscript_into_hostheadertype": {
|
||||||
|
"caching_list": [
|
||||||
|
{
|
||||||
|
"name": "default",
|
||||||
|
"ttl": 3600
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "home",
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"name": "index",
|
||||||
|
"request_url": "/index.htm"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"ttl": 1200
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"domain_list": [
|
||||||
|
{
|
||||||
|
"domain": "www.domain1234.com",
|
||||||
|
"protocol": "http"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"domain": "blog.mywebsite.com",
|
||||||
|
"protocol": "http"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name": "my_service_name",
|
||||||
|
"origin_list": [
|
||||||
|
{
|
||||||
|
"origin": "mywebsite1.com",
|
||||||
|
"port": 443,
|
||||||
|
"ssl": false,
|
||||||
|
"hostheadertype": "%3Cscript%3Ealert%281%29%3C/script%3E",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"restrictions_list": [
|
||||||
|
{
|
||||||
|
"name": "test",
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"name": "only me",
|
||||||
|
"referrer": "www.mywebsite.com"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"xss_escaped_jscript_into_hostheadervalue": {
|
||||||
|
"caching_list": [
|
||||||
|
{
|
||||||
|
"name": "default",
|
||||||
|
"ttl": 3600
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "home",
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"name": "index",
|
||||||
|
"request_url": "/index.htm"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"ttl": 1200
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"domain_list": [
|
||||||
|
{
|
||||||
|
"domain": "www.domain1234.com",
|
||||||
|
"protocol": "http"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"domain": "blog.mywebsite.com",
|
||||||
|
"protocol": "http"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name": "my_service_name",
|
||||||
|
"origin_list": [
|
||||||
|
{
|
||||||
|
"origin": "mywebsite1.com",
|
||||||
|
"port": 443,
|
||||||
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "%3Cscript%3Ealert%281%29%3C/script%3E"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"restrictions_list": [
|
"restrictions_list": [
|
||||||
|
|
|
@ -34,7 +34,9 @@
|
||||||
"name" : "default",
|
"name" : "default",
|
||||||
"request_url" : "/*"
|
"request_url" : "/*"
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"hostheadertype": "domain",
|
||||||
|
"hostheadervalue": null
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -80,7 +82,9 @@
|
||||||
"name" : "default",
|
"name" : "default",
|
||||||
"request_url" : "/*"
|
"request_url" : "/*"
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"hostheadertype": "domain",
|
||||||
|
"hostheadervalue": null
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"caching_list": [
|
"caching_list": [
|
||||||
|
@ -144,6 +148,20 @@
|
||||||
"origin": "mywebsite1.com",
|
"origin": "mywebsite1.com",
|
||||||
"port": 80,
|
"port": 80,
|
||||||
"ssl": false,
|
"ssl": false,
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"name" : "default",
|
||||||
|
"request_url" : "/*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"hostheadertype": "domain",
|
||||||
|
"hostheadervalue": null
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"caching_list": [
|
||||||
|
{
|
||||||
|
"name": "default",
|
||||||
|
"ttl": 3600,
|
||||||
"rules": [
|
"rules": [
|
||||||
{
|
{
|
||||||
"name" : "default",
|
"name" : "default",
|
||||||
|
@ -152,6 +170,246 @@
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"restrictions": [
|
||||||
|
{
|
||||||
|
"name": "test",
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"name": "only me",
|
||||||
|
"referrer": "www.mywebsite.com",
|
||||||
|
"request_url": "/*"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"default_hostheadertype": {
|
||||||
|
"submit_value": {
|
||||||
|
"name": "my_service_name",
|
||||||
|
"domain_list": [
|
||||||
|
{
|
||||||
|
"domain": "mywebsite.com",
|
||||||
|
"protocol": "http"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"origin_list": [
|
||||||
|
{
|
||||||
|
"origin": "mywebsite1.com",
|
||||||
|
"port": 80,
|
||||||
|
"ssl": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"caching_list": [
|
||||||
|
{
|
||||||
|
"name": "default",
|
||||||
|
"ttl": 3600
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"restrictions": [
|
||||||
|
{
|
||||||
|
"name": "test",
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"name": "only me",
|
||||||
|
"referrer": "www.mywebsite.com"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"expected_value": {
|
||||||
|
"name": "my_service_name",
|
||||||
|
"domain_list": [
|
||||||
|
{
|
||||||
|
"domain": "mywebsite.com",
|
||||||
|
"protocol": "http"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"origin_list": [
|
||||||
|
{
|
||||||
|
"origin": "mywebsite1.com",
|
||||||
|
"port": 80,
|
||||||
|
"ssl": false,
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"name" : "default",
|
||||||
|
"request_url" : "/*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"hostheadertype": "domain",
|
||||||
|
"hostheadervalue": null
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"caching_list": [
|
||||||
|
{
|
||||||
|
"name": "default",
|
||||||
|
"ttl": 3600,
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"name" : "default",
|
||||||
|
"request_url" : "/*"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"restrictions": [
|
||||||
|
{
|
||||||
|
"name": "test",
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"name": "only me",
|
||||||
|
"referrer": "www.mywebsite.com",
|
||||||
|
"request_url": "/*"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"origin_hostheadertype": {
|
||||||
|
"submit_value": {
|
||||||
|
"name": "my_service_name",
|
||||||
|
"domain_list": [
|
||||||
|
{
|
||||||
|
"domain": "mywebsite.com",
|
||||||
|
"protocol": "http"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"origin_list": [
|
||||||
|
{
|
||||||
|
"origin": "mywebsite1.com",
|
||||||
|
"port": 80,
|
||||||
|
"ssl": false,
|
||||||
|
"hostheadertype": "origin"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"caching_list": [
|
||||||
|
{
|
||||||
|
"name": "default",
|
||||||
|
"ttl": 3600
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"restrictions": [
|
||||||
|
{
|
||||||
|
"name": "test",
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"name": "only me",
|
||||||
|
"referrer": "www.mywebsite.com"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"expected_value": {
|
||||||
|
"name": "my_service_name",
|
||||||
|
"domain_list": [
|
||||||
|
{
|
||||||
|
"domain": "mywebsite.com",
|
||||||
|
"protocol": "http"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"origin_list": [
|
||||||
|
{
|
||||||
|
"origin": "mywebsite1.com",
|
||||||
|
"port": 80,
|
||||||
|
"ssl": false,
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"name" : "default",
|
||||||
|
"request_url" : "/*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"hostheadertype": "origin",
|
||||||
|
"hostheadervalue": "mywebsite1.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"caching_list": [
|
||||||
|
{
|
||||||
|
"name": "default",
|
||||||
|
"ttl": 3600,
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"name" : "default",
|
||||||
|
"request_url" : "/*"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"restrictions": [
|
||||||
|
{
|
||||||
|
"name": "test",
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"name": "only me",
|
||||||
|
"referrer": "www.mywebsite.com",
|
||||||
|
"request_url": "/*"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"custom_hostheadertype": {
|
||||||
|
"submit_value": {
|
||||||
|
"name": "my_service_name",
|
||||||
|
"domain_list": [
|
||||||
|
{
|
||||||
|
"domain": "mywebsite.com",
|
||||||
|
"protocol": "http"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"origin_list": [
|
||||||
|
{
|
||||||
|
"origin": "mywebsite1.com",
|
||||||
|
"port": 80,
|
||||||
|
"ssl": false,
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"caching_list": [
|
||||||
|
{
|
||||||
|
"name": "default",
|
||||||
|
"ttl": 3600
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"restrictions": [
|
||||||
|
{
|
||||||
|
"name": "test",
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"name": "only me",
|
||||||
|
"referrer": "www.mywebsite.com"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"expected_value": {
|
||||||
|
"name": "my_service_name",
|
||||||
|
"domain_list": [
|
||||||
|
{
|
||||||
|
"domain": "mywebsite.com",
|
||||||
|
"protocol": "http"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"origin_list": [
|
||||||
|
{
|
||||||
|
"origin": "mywebsite1.com",
|
||||||
|
"port": 80,
|
||||||
|
"ssl": false,
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"name" : "default",
|
||||||
|
"request_url" : "/*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
"caching_list": [
|
"caching_list": [
|
||||||
{
|
{
|
||||||
"name": "default",
|
"name": "default",
|
||||||
|
|
|
@ -46,7 +46,7 @@
|
||||||
"replace_origin": [
|
"replace_origin": [
|
||||||
{"op": "replace",
|
{"op": "replace",
|
||||||
"path": "/origins/0",
|
"path": "/origins/0",
|
||||||
"value": {"origin": "1.2.3.4", "port": 80, "rules": [{"name": "default", "request_url": "/replacement"}], "ssl": false}}
|
"value": {"origin": "1.2.3.4", "port": 80, "rules": [{"name": "default", "request_url": "/replacement"}], "ssl": false, "hostheadertype": "custom", "hostheadervalue": "www.customweb.com"}}
|
||||||
],
|
],
|
||||||
"add_origin": [
|
"add_origin": [
|
||||||
{"op": "add",
|
{"op": "add",
|
||||||
|
@ -113,11 +113,25 @@
|
||||||
{"op": "remove",
|
{"op": "remove",
|
||||||
"path": "/origins/0"}
|
"path": "/origins/0"}
|
||||||
],
|
],
|
||||||
|
"add_origin_with_origin_hostheadertype": [
|
||||||
|
{"op": "add",
|
||||||
|
"path": "/origins/1",
|
||||||
|
"value": {"origin": "1.2.3.4", "port": 80, "ssl": false,
|
||||||
|
"rules": [{"name" : "origin", "request_url" : "/origin.htm"}], "hostheadertype": "origin"}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"add_origin_with_custom_hostheadertype": [
|
||||||
|
{"op": "add",
|
||||||
|
"path": "/origins/1",
|
||||||
|
"value": {"origin": "1.2.3.4", "port": 80, "ssl": false,
|
||||||
|
"rules": [{"name" : "origin", "request_url" : "/origin.htm"}], "hostheadertype": "custom", "hostheadervalue": "www.mycustom.com"}
|
||||||
|
}
|
||||||
|
],
|
||||||
"add_caching": [
|
"add_caching": [
|
||||||
{"op": "add",
|
{"op": "add",
|
||||||
"path": "/caching/-",
|
"path": "/caching/-",
|
||||||
"value": {"name": "cache_name", "ttl": 111,
|
"value": {"name": "cache_name", "ttl": 111,
|
||||||
"rules": [{"name" : "index","request_url" : "/cats.jpg"}]}}
|
"rules": [{"name" : "index","request_url" : "/cats.jpg"}] }}
|
||||||
],
|
],
|
||||||
"add_caching_with_minimum_length_name": [
|
"add_caching_with_minimum_length_name": [
|
||||||
{"op": "add",
|
{"op": "add",
|
||||||
|
@ -225,7 +239,7 @@
|
||||||
{"op": "replace",
|
{"op": "replace",
|
||||||
"path": "/origins/0",
|
"path": "/origins/0",
|
||||||
"value": {"origin": "1.1.1.1", "port": 443, "ssl": true,
|
"value": {"origin": "1.1.1.1", "port": 443, "ssl": true,
|
||||||
"rules": [{"name" : "origin", "request_url" : "/origin2.htm"}]}}
|
"rules": [{"name" : "origin", "request_url" : "/origin2.htm"}], "hostheadertype": "custom", "hostheadervalue": "www.customweb.com"}}
|
||||||
],
|
],
|
||||||
"empty_list": []
|
"empty_list": []
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,6 +20,7 @@ import urlparse
|
||||||
import uuid
|
import uuid
|
||||||
|
|
||||||
import ddt
|
import ddt
|
||||||
|
import jsonpatch
|
||||||
from nose.plugins import attrib
|
from nose.plugins import attrib
|
||||||
|
|
||||||
from tests.api import base
|
from tests.api import base
|
||||||
|
@ -83,6 +84,11 @@ class TestCreateService(providers.TestProviderBase):
|
||||||
for item in origin_list:
|
for item in origin_list:
|
||||||
if 'rules' not in item:
|
if 'rules' not in item:
|
||||||
item[u'rules'] = []
|
item[u'rules'] = []
|
||||||
|
if 'hostheadertype' not in item:
|
||||||
|
item[u'hostheadertype'] = 'domain'
|
||||||
|
item[u'hostheadervalue'] = None
|
||||||
|
elif item['hostheadertype'] == 'origin':
|
||||||
|
item[u'hostheadervalue'] = item['origin']
|
||||||
self.assertEqual(body['origins'], origin_list)
|
self.assertEqual(body['origins'], origin_list)
|
||||||
|
|
||||||
# TODO(malini): uncomment below after caching list is implemented.
|
# TODO(malini): uncomment below after caching list is implemented.
|
||||||
|
@ -163,7 +169,9 @@ class TestListServices(base.TestBase):
|
||||||
prefix='api-test-domain') + '.com'}]
|
prefix='api-test-domain') + '.com'}]
|
||||||
|
|
||||||
self.origin_list = [{"origin": self.generate_random_string(
|
self.origin_list = [{"origin": self.generate_random_string(
|
||||||
prefix='api-test-origin') + '.com', "port": 80, "ssl": False}]
|
prefix='api-test-origin') + '.com', "port": 80, "ssl": False,
|
||||||
|
"hostheadertype": "custom", "hostheadervalue":
|
||||||
|
"www.customweb.com"}]
|
||||||
|
|
||||||
self.caching_list = [{"name": "default", "ttl": 3600},
|
self.caching_list = [{"name": "default", "ttl": 3600},
|
||||||
{"name": "home", "ttl": 1200,
|
{"name": "home", "ttl": 1200,
|
||||||
|
@ -292,7 +300,9 @@ class TestServiceActions(base.TestBase):
|
||||||
u"rules": [{
|
u"rules": [{
|
||||||
u"name": u"default",
|
u"name": u"default",
|
||||||
u"request_url": u"/*"
|
u"request_url": u"/*"
|
||||||
}]
|
}],
|
||||||
|
u"hostheadertype": "custom",
|
||||||
|
u"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -423,6 +433,476 @@ class TestServiceActions(base.TestBase):
|
||||||
super(TestServiceActions, self).tearDown()
|
super(TestServiceActions, self).tearDown()
|
||||||
|
|
||||||
|
|
||||||
|
@ddt.ddt
|
||||||
|
class TestServicePatch(base.TestBase):
|
||||||
|
|
||||||
|
"""Tests for PATCH Services."""
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
super(TestServicePatch, self).setUp()
|
||||||
|
self.service_name = self.generate_random_string(prefix='api-test')
|
||||||
|
self.flavor_id = self.test_flavor
|
||||||
|
self.log_delivery = {"enabled": False}
|
||||||
|
|
||||||
|
domain = self.generate_random_string(prefix='api-test-domain') + '.com'
|
||||||
|
self.domain_list = [
|
||||||
|
{
|
||||||
|
"domain": domain,
|
||||||
|
"protocol": "http"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
origin = self.generate_random_string(prefix='api-test-origin') + '.com'
|
||||||
|
self.origin_list = [
|
||||||
|
{
|
||||||
|
"origin": origin,
|
||||||
|
"port": 80,
|
||||||
|
"ssl": False,
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"name": "default",
|
||||||
|
"request_url": "/*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"hostheadertype": "domain",
|
||||||
|
"hostheadervalue": None
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
self.caching_list = [
|
||||||
|
{
|
||||||
|
"name": "default",
|
||||||
|
"ttl": 3600,
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"name": "default",
|
||||||
|
"request_url": "/*"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "home",
|
||||||
|
"ttl": 1200,
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"name": "index",
|
||||||
|
"request_url": "/index.htm"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
self.restrictions_list = [
|
||||||
|
{"name": "website only",
|
||||||
|
"rules": [{"name": "mywebsite.com",
|
||||||
|
"referrer": "www.mywebsite.com",
|
||||||
|
"request_url": "/*"
|
||||||
|
}]}]
|
||||||
|
|
||||||
|
resp = self.client.create_service(
|
||||||
|
service_name=self.service_name,
|
||||||
|
domain_list=self.domain_list,
|
||||||
|
origin_list=self.origin_list,
|
||||||
|
caching_list=self.caching_list,
|
||||||
|
restrictions_list=self.restrictions_list,
|
||||||
|
flavor_id=self.flavor_id,
|
||||||
|
log_delivery=self.log_delivery)
|
||||||
|
|
||||||
|
self.service_url = resp.headers["location"]
|
||||||
|
|
||||||
|
self.original_service_details = {
|
||||||
|
"name": self.service_name,
|
||||||
|
"domains": self.domain_list,
|
||||||
|
"origins": self.origin_list,
|
||||||
|
"caching": self.caching_list,
|
||||||
|
"restrictions": self.restrictions_list,
|
||||||
|
"flavor_id": self.flavor_id,
|
||||||
|
"log_delivery": self.log_delivery}
|
||||||
|
|
||||||
|
self.client.wait_for_service_status(
|
||||||
|
location=self.service_url,
|
||||||
|
status='deployed',
|
||||||
|
abort_on_status='failed',
|
||||||
|
retry_interval=self.test_config.status_check_retry_interval,
|
||||||
|
retry_timeout=self.test_config.status_check_retry_timeout)
|
||||||
|
|
||||||
|
resp = self.client.get_service(location=self.service_url)
|
||||||
|
body = resp.json()
|
||||||
|
self.assertEqual(resp.status_code, 200)
|
||||||
|
self.assertEqual(body['status'], 'deployed')
|
||||||
|
|
||||||
|
@ddt.file_data('data_patch_service.json')
|
||||||
|
def test_patch_service(self, test_data):
|
||||||
|
|
||||||
|
for item in test_data:
|
||||||
|
if 'skip_test' in item:
|
||||||
|
self.skipTest('Not Implemented - bug# 1433807')
|
||||||
|
|
||||||
|
if ('domain' in item['path']) and ('value' in item):
|
||||||
|
if isinstance(item['value'], (list)):
|
||||||
|
item['value'][0]['domain'] = self._replace_domain(
|
||||||
|
domain=item['value'][0])
|
||||||
|
else:
|
||||||
|
item['value']['domain'] = self._replace_domain(
|
||||||
|
domain=item['value'])
|
||||||
|
|
||||||
|
patch = jsonpatch.JsonPatch(test_data)
|
||||||
|
expected_service_details = patch.apply(self.original_service_details)
|
||||||
|
|
||||||
|
resp = self.client.patch_service(location=self.service_url,
|
||||||
|
request_body=test_data)
|
||||||
|
self.assertEqual(resp.status_code, 202)
|
||||||
|
|
||||||
|
for item in test_data:
|
||||||
|
if 'origin' in item['path'] and ('value' in item):
|
||||||
|
if 'hostheadertype' in item['value']:
|
||||||
|
if item['value']['hostheadertype'] == 'custom':
|
||||||
|
for origin in expected_service_details['origins']:
|
||||||
|
if origin['origin'] == item['value']['origin']:
|
||||||
|
origin['hostheadertype'] = 'custom'
|
||||||
|
origin['hostheadervalue'] = item['value'][
|
||||||
|
'hostheadervalue']
|
||||||
|
elif item['value']['hostheadertype'] == 'origin':
|
||||||
|
for origin in expected_service_details['origins']:
|
||||||
|
if origin['origin'] == item['value']['origin']:
|
||||||
|
origin['hostheadertype'] = 'origin'
|
||||||
|
origin['hostheadervalue'] = item['value'][
|
||||||
|
'origin']
|
||||||
|
else:
|
||||||
|
for origin in expected_service_details['origins']:
|
||||||
|
origin['hostheadertype'] = 'domain'
|
||||||
|
origin['hostheadervalue'] = None
|
||||||
|
|
||||||
|
self.client.wait_for_service_status(
|
||||||
|
location=self.service_url,
|
||||||
|
status='deployed',
|
||||||
|
abort_on_status='failed',
|
||||||
|
retry_interval=self.test_config.status_check_retry_interval,
|
||||||
|
retry_timeout=self.test_config.status_check_retry_timeout)
|
||||||
|
|
||||||
|
resp = self.client.get_service(location=self.service_url)
|
||||||
|
body = resp.json()
|
||||||
|
self.assertEqual(body['status'], 'deployed')
|
||||||
|
|
||||||
|
self.assert_patch_service_details(body, expected_service_details)
|
||||||
|
|
||||||
|
def _replace_domain(self, domain):
|
||||||
|
if ('protocol' in domain):
|
||||||
|
if domain['protocol'] == 'https':
|
||||||
|
if (domain['certificate'] == u'shared'):
|
||||||
|
return self.generate_random_string(prefix='api-test-ssl')
|
||||||
|
|
||||||
|
return self.generate_random_string(prefix='api-test-ssl') + '.com'
|
||||||
|
|
||||||
|
@ddt.file_data('data_patch_service_negative.json')
|
||||||
|
def test_patch_service_HTTP_400(self, test_data):
|
||||||
|
|
||||||
|
resp = self.client.patch_service(location=self.service_url,
|
||||||
|
request_body=test_data)
|
||||||
|
self.assertEqual(resp.status_code, 400)
|
||||||
|
|
||||||
|
# nothing should have changed.
|
||||||
|
resp = self.client.get_service(location=self.service_url)
|
||||||
|
self.assertEqual(resp.status_code, 200)
|
||||||
|
|
||||||
|
body = resp.json()
|
||||||
|
self.assertEqual(body['status'], 'deployed')
|
||||||
|
|
||||||
|
self.assert_patch_service_details(body, self.original_service_details)
|
||||||
|
|
||||||
|
def test_patch_service_claim_relinquish_domain(self):
|
||||||
|
newdomain = str(uuid.uuid4()) + ".com"
|
||||||
|
add_domain = (
|
||||||
|
[{
|
||||||
|
"op": "add",
|
||||||
|
"path": "/domains/-",
|
||||||
|
"value": {"domain": newdomain, "protocol": "http"}
|
||||||
|
}])
|
||||||
|
remove_domain = (
|
||||||
|
[{
|
||||||
|
"op": "remove",
|
||||||
|
"path": "/domains/1"
|
||||||
|
}])
|
||||||
|
|
||||||
|
# add new domain
|
||||||
|
resp = self.client.patch_service(location=self.service_url,
|
||||||
|
request_body=add_domain)
|
||||||
|
self.assertEqual(resp.status_code, 202)
|
||||||
|
|
||||||
|
# wait for the domain to be added
|
||||||
|
self.client.wait_for_service_status(
|
||||||
|
location=self.service_url,
|
||||||
|
status='deployed',
|
||||||
|
abort_on_status='failed',
|
||||||
|
retry_interval=self.test_config.status_check_retry_interval,
|
||||||
|
retry_timeout=self.test_config.status_check_retry_timeout)
|
||||||
|
|
||||||
|
# make sure the new domain is added
|
||||||
|
resp = self.client.get_service(location=self.service_url)
|
||||||
|
body = resp.json()
|
||||||
|
self.assertEqual(body['status'], 'deployed')
|
||||||
|
self.assertEqual(body['domains'][-1]['domain'], newdomain)
|
||||||
|
|
||||||
|
# remove the new domain
|
||||||
|
resp = self.client.patch_service(location=self.service_url,
|
||||||
|
request_body=remove_domain)
|
||||||
|
self.assertEqual(resp.status_code, 202)
|
||||||
|
|
||||||
|
# wait for the domain to be removed
|
||||||
|
self.client.wait_for_service_status(
|
||||||
|
location=self.service_url,
|
||||||
|
status='deployed',
|
||||||
|
abort_on_status='failed',
|
||||||
|
retry_interval=self.test_config.status_check_retry_interval,
|
||||||
|
retry_timeout=self.test_config.status_check_retry_timeout)
|
||||||
|
# make sure the new domain is removed
|
||||||
|
resp = self.client.get_service(location=self.service_url)
|
||||||
|
body = resp.json()
|
||||||
|
self.assertEqual(body['status'], 'deployed')
|
||||||
|
for domain in body['domains']:
|
||||||
|
self.assertNotEqual(domain['domain'], newdomain)
|
||||||
|
|
||||||
|
# add new domain, again
|
||||||
|
resp = self.client.patch_service(location=self.service_url,
|
||||||
|
request_body=add_domain)
|
||||||
|
self.assertEqual(resp.status_code, 202)
|
||||||
|
|
||||||
|
# wait for the domain to be added
|
||||||
|
self.client.wait_for_service_status(
|
||||||
|
location=self.service_url,
|
||||||
|
status='deployed',
|
||||||
|
abort_on_status='failed',
|
||||||
|
retry_interval=self.test_config.status_check_retry_interval,
|
||||||
|
retry_timeout=self.test_config.status_check_retry_timeout)
|
||||||
|
|
||||||
|
# make sure the new domain is added
|
||||||
|
resp = self.client.get_service(location=self.service_url)
|
||||||
|
body = resp.json()
|
||||||
|
self.assertEqual(body['status'], 'deployed')
|
||||||
|
self.assertEqual(body['domains'][-1]['domain'], newdomain)
|
||||||
|
|
||||||
|
def test_patch_service_add_duplicate_domain(self):
|
||||||
|
# create second service
|
||||||
|
service_name = str(uuid.uuid1())
|
||||||
|
duplicate_domain = str(uuid.uuid1()) + '.com'
|
||||||
|
domain_list = [{"domain": duplicate_domain, "protocol": "http"}]
|
||||||
|
|
||||||
|
origin = str(uuid.uuid1()) + '.com'
|
||||||
|
origin_list = [{"origin": origin,
|
||||||
|
"port": 80, "ssl": False, "rules": []}]
|
||||||
|
|
||||||
|
resp = self.client.create_service(
|
||||||
|
service_name=service_name,
|
||||||
|
domain_list=domain_list,
|
||||||
|
origin_list=origin_list,
|
||||||
|
flavor_id=self.flavor_id)
|
||||||
|
|
||||||
|
service_url = resp.headers["location"]
|
||||||
|
|
||||||
|
# wait until the service is deployed
|
||||||
|
self.client.wait_for_service_status(
|
||||||
|
location=service_url,
|
||||||
|
status='deployed',
|
||||||
|
abort_on_status='failed',
|
||||||
|
retry_interval=self.test_config.status_check_retry_interval,
|
||||||
|
retry_timeout=self.test_config.status_check_retry_timeout)
|
||||||
|
|
||||||
|
resp = self.client.get_service(location=service_url)
|
||||||
|
body = resp.json()
|
||||||
|
self.assertEqual(resp.status_code, 200)
|
||||||
|
self.assertEqual(body['status'], 'deployed')
|
||||||
|
|
||||||
|
# wait to make sure cassandra is eventually consistent
|
||||||
|
time.sleep(self.test_config.cassandra_consistency_wait_time)
|
||||||
|
|
||||||
|
# patch original service with the duplicate domain
|
||||||
|
add_duplicate_domain = (
|
||||||
|
[{
|
||||||
|
"op": "add",
|
||||||
|
"path": "/domains/-",
|
||||||
|
"value": {"domain": duplicate_domain, "protocol": "http"}
|
||||||
|
}])
|
||||||
|
|
||||||
|
# add the duplicate domain
|
||||||
|
resp = self.client.patch_service(location=self.service_url,
|
||||||
|
request_body=add_duplicate_domain)
|
||||||
|
self.assertEqual(resp.status_code, 400)
|
||||||
|
|
||||||
|
def tearDown(self):
|
||||||
|
self.client.delete_service(location=self.service_url)
|
||||||
|
if self.test_config.generate_flavors:
|
||||||
|
self.client.delete_flavor(flavor_id=self.flavor_id)
|
||||||
|
super(TestServicePatch, self).tearDown()
|
||||||
|
|
||||||
|
|
||||||
|
@ddt.ddt
|
||||||
|
class TestServicePatchWithLogDelivery(base.TestBase):
|
||||||
|
|
||||||
|
"""Tests for PATCH Services."""
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
super(TestServicePatchWithLogDelivery, self).setUp()
|
||||||
|
self.service_name = self.generate_random_string(prefix='api-test')
|
||||||
|
self.flavor_id = self.test_flavor
|
||||||
|
self.log_delivery = {"enabled": True}
|
||||||
|
|
||||||
|
domain = self.generate_random_string(prefix='api-test-domain') + '.com'
|
||||||
|
self.domain_list = [
|
||||||
|
{
|
||||||
|
"domain": domain,
|
||||||
|
"protocol": "http"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
origin = self.generate_random_string(prefix='api-test-origin') + '.com'
|
||||||
|
self.origin_list = [
|
||||||
|
{
|
||||||
|
"origin": origin,
|
||||||
|
"port": 80,
|
||||||
|
"ssl": False,
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"name": "default",
|
||||||
|
"request_url": "/*"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"hostheadertype": "domain",
|
||||||
|
"hostheadervalue": None
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
self.caching_list = [
|
||||||
|
{
|
||||||
|
"name": "default",
|
||||||
|
"ttl": 3600,
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"name": "default",
|
||||||
|
"request_url": "/*"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "home",
|
||||||
|
"ttl": 1200,
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"name": "index",
|
||||||
|
"request_url": "/index.htm"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
self.restrictions_list = [
|
||||||
|
{"name": "website only",
|
||||||
|
"rules": [{"name": "mywebsite.com",
|
||||||
|
"referrer": "www.mywebsite.com",
|
||||||
|
"request_url": "/*"
|
||||||
|
}]}]
|
||||||
|
|
||||||
|
resp = self.client.create_service(
|
||||||
|
service_name=self.service_name,
|
||||||
|
domain_list=self.domain_list,
|
||||||
|
origin_list=self.origin_list,
|
||||||
|
caching_list=self.caching_list,
|
||||||
|
restrictions_list=self.restrictions_list,
|
||||||
|
flavor_id=self.flavor_id,
|
||||||
|
log_delivery=self.log_delivery)
|
||||||
|
|
||||||
|
self.service_url = resp.headers["location"]
|
||||||
|
|
||||||
|
self.original_service_details = {
|
||||||
|
"name": self.service_name,
|
||||||
|
"domains": self.domain_list,
|
||||||
|
"origins": self.origin_list,
|
||||||
|
"caching": self.caching_list,
|
||||||
|
"restrictions": self.restrictions_list,
|
||||||
|
"flavor_id": self.flavor_id,
|
||||||
|
"log_delivery": self.log_delivery}
|
||||||
|
|
||||||
|
self.client.wait_for_service_status(
|
||||||
|
location=self.service_url,
|
||||||
|
status='deployed',
|
||||||
|
abort_on_status='failed',
|
||||||
|
retry_interval=self.test_config.status_check_retry_interval,
|
||||||
|
retry_timeout=self.test_config.status_check_retry_timeout)
|
||||||
|
|
||||||
|
resp = self.client.get_service(location=self.service_url)
|
||||||
|
body = resp.json()
|
||||||
|
self.assertEqual(resp.status_code, 200)
|
||||||
|
self.assertEqual(body['status'], 'deployed')
|
||||||
|
|
||||||
|
def _replace_domain(self, domain):
|
||||||
|
if ('protocol' in domain):
|
||||||
|
if domain['protocol'] == 'https':
|
||||||
|
if (domain['certificate'] == u'shared'):
|
||||||
|
return self.generate_random_string(prefix='api-test-ssl')
|
||||||
|
|
||||||
|
return self.generate_random_string(prefix='api-test-ssl') + '.com'
|
||||||
|
|
||||||
|
@ddt.file_data('data_patch_service.json')
|
||||||
|
def test_patch_service(self, test_data):
|
||||||
|
|
||||||
|
for item in test_data:
|
||||||
|
if 'skip_test' in item:
|
||||||
|
self.skipTest('Not Implemented - bug# 1433807')
|
||||||
|
|
||||||
|
if ('domain' in item['path']) and ('value' in item):
|
||||||
|
if isinstance(item['value'], (list)):
|
||||||
|
item['value'][0]['domain'] = self._replace_domain(
|
||||||
|
domain=item['value'][0])
|
||||||
|
else:
|
||||||
|
item['value']['domain'] = self._replace_domain(
|
||||||
|
domain=item['value'])
|
||||||
|
|
||||||
|
patch = jsonpatch.JsonPatch(test_data)
|
||||||
|
expected_service_details = patch.apply(self.original_service_details)
|
||||||
|
|
||||||
|
resp = self.client.patch_service(location=self.service_url,
|
||||||
|
request_body=test_data)
|
||||||
|
self.assertEqual(resp.status_code, 202)
|
||||||
|
|
||||||
|
for item in test_data:
|
||||||
|
if 'origin' in item['path'] and ('value' in item):
|
||||||
|
if 'hostheadertype' in item['value']:
|
||||||
|
if item['value']['hostheadertype'] == 'custom':
|
||||||
|
for origin in expected_service_details['origins']:
|
||||||
|
if origin['origin'] == item['value']['origin']:
|
||||||
|
origin['hostheadertype'] = 'custom'
|
||||||
|
origin['hostheadervalue'] = item['value'][
|
||||||
|
'hostheadervalue']
|
||||||
|
elif item['value']['hostheadertype'] == 'origin':
|
||||||
|
for origin in expected_service_details['origins']:
|
||||||
|
if origin['origin'] == item['value']['origin']:
|
||||||
|
origin['hostheadertype'] = 'origin'
|
||||||
|
origin['hostheadervalue'] = item['value'][
|
||||||
|
'origin']
|
||||||
|
else:
|
||||||
|
for origin in expected_service_details['origins']:
|
||||||
|
origin['hostheadertype'] = 'domain'
|
||||||
|
origin['hostheadervalue'] = None
|
||||||
|
|
||||||
|
self.client.wait_for_service_status(
|
||||||
|
location=self.service_url,
|
||||||
|
status='deployed',
|
||||||
|
abort_on_status='failed',
|
||||||
|
retry_interval=self.test_config.status_check_retry_interval,
|
||||||
|
retry_timeout=self.test_config.status_check_retry_timeout)
|
||||||
|
|
||||||
|
resp = self.client.get_service(location=self.service_url)
|
||||||
|
body = resp.json()
|
||||||
|
self.assertEqual(body['status'], 'deployed')
|
||||||
|
|
||||||
|
self.assert_patch_service_details(body, expected_service_details)
|
||||||
|
|
||||||
|
def tearDown(self):
|
||||||
|
self.client.delete_service(location=self.service_url)
|
||||||
|
if self.test_config.generate_flavors:
|
||||||
|
self.client.delete_flavor(flavor_id=self.flavor_id)
|
||||||
|
super(TestServicePatchWithLogDelivery, self).tearDown()
|
||||||
|
|
||||||
|
|
||||||
@ddt.ddt
|
@ddt.ddt
|
||||||
class TestDefaultServiceFields(providers.TestProviderBase):
|
class TestDefaultServiceFields(providers.TestProviderBase):
|
||||||
|
|
||||||
|
|
|
@ -123,8 +123,9 @@ class TestPatchSSLService(base.TestBase):
|
||||||
{
|
{
|
||||||
"name": "default",
|
"name": "default",
|
||||||
"request_url": "/*"
|
"request_url": "/*"
|
||||||
}
|
}],
|
||||||
]
|
"hostheadertype": "custom",
|
||||||
|
"hostheadervalue": "www.customweb.com"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,9 @@ origin = {
|
||||||
'minumum': 0,
|
'minumum': 0,
|
||||||
'maximum': 100000},
|
'maximum': 100000},
|
||||||
'ssl': {'type': 'boolean'},
|
'ssl': {'type': 'boolean'},
|
||||||
'rules': {'type': 'array'}},
|
'rules': {'type': 'array'},
|
||||||
|
'hostheadertype': {'type': 'string'},
|
||||||
|
'hostheadervalue': {'type': ['string', 'null']}},
|
||||||
'required': ['origin', 'port', 'ssl'],
|
'required': ['origin', 'port', 'ssl'],
|
||||||
'additionalProperties': False
|
'additionalProperties': False
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,15 +26,15 @@ class TestOrigin(base.TestCase):
|
||||||
|
|
||||||
@ddt.unpack
|
@ddt.unpack
|
||||||
@ddt.data({'origin_url': 'www.mydomain.com',
|
@ddt.data({'origin_url': 'www.mydomain.com',
|
||||||
'changed_origin_url': 'www.changed-domain.com'},
|
'changed_origin_url': 'www.changed-domain.com'},
|
||||||
{'origin_url': u'www.düsseldorf-Lörick.com',
|
{'origin_url': u'www.düsseldorf-Lörick.com',
|
||||||
'changed_origin_url': u'www.düsseldorf.com'
|
'changed_origin_url': u'www.düsseldorf.com'})
|
||||||
})
|
|
||||||
def test_origin(self, origin_url, changed_origin_url):
|
def test_origin(self, origin_url, changed_origin_url):
|
||||||
|
|
||||||
port = 443
|
port = 80
|
||||||
ssl = True
|
ssl = True
|
||||||
myorigin = origin.Origin(origin_url, port, ssl)
|
myorigin = origin.Origin(origin=origin_url, hostheadertype="origin",
|
||||||
|
hostheadervalue="", port=80, ssl=True)
|
||||||
|
|
||||||
# test all properties
|
# test all properties
|
||||||
# origin
|
# origin
|
||||||
|
@ -44,8 +44,8 @@ class TestOrigin(base.TestCase):
|
||||||
|
|
||||||
# port
|
# port
|
||||||
self.assertEqual(myorigin.port, port)
|
self.assertEqual(myorigin.port, port)
|
||||||
myorigin.port = 80
|
myorigin.port = 443
|
||||||
self.assertEqual(myorigin.port, 80)
|
self.assertEqual(myorigin.port, 443)
|
||||||
|
|
||||||
# ssl
|
# ssl
|
||||||
self.assertEqual(myorigin.ssl, ssl)
|
self.assertEqual(myorigin.ssl, ssl)
|
||||||
|
|
1
tox.ini
1
tox.ini
|
@ -20,6 +20,7 @@ deps = -r{toxinidir}/requirements/requirements.txt
|
||||||
commands = pip install git+https://github.com/stackforge/opencafe.git#egg=cafe
|
commands = pip install git+https://github.com/stackforge/opencafe.git#egg=cafe
|
||||||
nosetests {posargs:--exclude=api --exclude=endtoend --nologcapture}
|
nosetests {posargs:--exclude=api --exclude=endtoend --nologcapture}
|
||||||
|
|
||||||
|
|
||||||
[tox:jenkins]
|
[tox:jenkins]
|
||||||
downloadcache = ~/cache/pip
|
downloadcache = ~/cache/pip
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue