You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by da...@apache.org on 2017/05/19 22:06:46 UTC
[1/2] incubator-trafficcontrol git commit: orgserverfqdn is not
required when ds type is ANY_MAP, STEERING OR CLIENT_STEERING
Repository: incubator-trafficcontrol
Updated Branches:
refs/heads/master b7b4840a0 -> bcad70fd6
orgserverfqdn is not required when ds type is ANY_MAP, STEERING OR CLIENT_STEERING
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/b830d171
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/b830d171
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/b830d171
Branch: refs/heads/master
Commit: b830d1719e4d33f475bab4de0fadfbc7ea39a7d8
Parents: b7b4840
Author: Jeremy Mitchell <mi...@gmail.com>
Authored: Fri May 19 11:30:26 2017 -0600
Committer: Dan Kirkwood <da...@gmail.com>
Committed: Fri May 19 16:05:42 2017 -0600
----------------------------------------------------------------------
.../traffic_ops_api/v12/deliveryservice.rst | 5 ++-
traffic_ops/app/lib/API/Deliveryservice.pm | 40 ++++++++++++++------
2 files changed, 32 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/b830d171/docs/source/development/traffic_ops_api/v12/deliveryservice.rst
----------------------------------------------------------------------
diff --git a/docs/source/development/traffic_ops_api/v12/deliveryservice.rst b/docs/source/development/traffic_ops_api/v12/deliveryservice.rst
index 8e21e98..6c60e72 100644
--- a/docs/source/development/traffic_ops_api/v12/deliveryservice.rst
+++ b/docs/source/development/traffic_ops_api/v12/deliveryservice.rst
@@ -1493,8 +1493,9 @@ SSL Keys
+------------------------+----------+---------------------------------------------------------------------------------------------------------+
| multiSiteOrigin | yes | 1 if enabled, 0 if disabled. |
+------------------------+----------+---------------------------------------------------------------------------------------------------------+
- | orgServerFqdn | yes | The origin server base URL (FQDN when used in this instance, includes the |
- | | | protocol (http:// or https://) for use in retrieving content from the origin server. |
+ | orgServerFqdn | yes|no | The origin server base URL (FQDN when used in this instance, includes the |
+ | | | protocol (http:// or https://) for use in retrieving content from the origin server. This field is |
+ | | | NOT required if type is ANY_MAP, STEERING OR CLIENT_STEERING. |
+------------------------+----------+---------------------------------------------------------------------------------------------------------+
| originShield | no | Origin shield |
+------------------------+----------+---------------------------------------------------------------------------------------------------------+
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/b830d171/traffic_ops/app/lib/API/Deliveryservice.pm
----------------------------------------------------------------------
diff --git a/traffic_ops/app/lib/API/Deliveryservice.pm b/traffic_ops/app/lib/API/Deliveryservice.pm
index 4104502..a215fd3 100644
--- a/traffic_ops/app/lib/API/Deliveryservice.pm
+++ b/traffic_ops/app/lib/API/Deliveryservice.pm
@@ -1022,26 +1022,26 @@ sub is_deliveryservice_valid {
# Validation checks to perform
checks => [
- active => [ is_required("is required") ],
+ xmlId => [ is_required("is required"), is_like( qr/^\S*$/, "no spaces" ), is_long_at_most( 48, 'too long' ) ],
+ typeId => [ is_required("is required") ],
cdnId => [ is_required("is required") ],
+ active => [ is_required("is required") ],
displayName => [ is_required("is required"), is_long_at_most( 48, 'too long' ) ],
- dscp => [ is_required("is required") ],
- geoLimit => [ is_required("is required") ],
- geoProvider => [ is_required("is required") ],
- initialDispersion => [ is_required("is required") ],
+ dscp => [ is_required("is required"), is_like( qr/^\d+$/, "digits only" ) ],
+ geoLimit => [ is_required("is required"), is_like( qr/^\d+$/, "digits only" ) ],
+ geoProvider => [ is_required("is required"), is_like( qr/^\d+$/, "digits only" ) ],
+ initialDispersion => [ is_required("is required"), is_like( qr/^\d+$/, "digits only" ) ],
ipv6RoutingEnabled => [ is_required("is required") ],
logsEnabled => [ is_required("is required") ],
missLat => [ \&is_valid_lat ],
missLong => [ \&is_valid_long ],
multiSiteOrigin => [ is_required("is required") ],
- orgServerFqdn => [ is_required("is required"), is_like( qr/^(https?:\/\/)/, "must start with http:// or https://" ) ],
- protocol => [ is_required("is required") ],
- qstringIgnore => [ is_required("is required") ],
- rangeRequestHandling => [ is_required("is required") ],
+ orgServerFqdn => [ sub { is_valid_org_server_fqdn($self, @_) } ],
+ protocol => [ is_required("is required"), is_like( qr/^\d+$/, "digits only" ) ],
+ qstringIgnore => [ is_required("is required"), is_like( qr/^\d+$/, "digits only" ) ],
+ rangeRequestHandling => [ is_required("is required"), is_like( qr/^\d+$/, "digits only" ) ],
regionalGeoBlocking => [ is_required("is required") ],
signed => [ is_required("is required") ],
- typeId => [ is_required("is required") ],
- xmlId => [ is_required("is required"), is_like( qr/^\S*$/, "no spaces" ), is_long_at_most( 48, 'too long' ) ],
]
};
@@ -1103,6 +1103,24 @@ sub is_valid_long {
return undef;
}
+sub is_valid_org_server_fqdn {
+ my $self = shift;
+ my ( $value, $params ) = @_;
+
+ if ( (!defined $value or $value eq '') ) {
+ my $type_name = $self->db->resultset("Type")->find( { id => $params->{typeId} } )->get_column('name') // undef;
+ if ( defined($type_name) && ( $type_name =~ /(^ANY_MAP$|^.*STEERING.*$)/ ) ) {
+ return undef;
+ }
+ }
+
+ if ( !( $value =~ /^(https?:\/\/)/ ) ) {
+ return "invalid. Must start with http:// or https://.";
+ }
+
+ return undef;
+}
+
sub sanitize_geo_limit_countries {
my $geo_limit_countries = shift;
[2/2] incubator-trafficcontrol git commit: This closes #590.
Posted by da...@apache.org.
This closes #590.
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/bcad70fd
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/bcad70fd
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/bcad70fd
Branch: refs/heads/master
Commit: bcad70fd63710b5a565716b624432c5cbbb786cb
Parents: b830d17
Author: Dan Kirkwood <da...@gmail.com>
Authored: Fri May 19 16:06:31 2017 -0600
Committer: Dan Kirkwood <da...@gmail.com>
Committed: Fri May 19 16:06:31 2017 -0600
----------------------------------------------------------------------
----------------------------------------------------------------------