ocket8888 commented on a change in pull request #5094:
URL: https://github.com/apache/trafficcontrol/pull/5094#discussion_r499791438
##########
File path: traffic_ops/traffic_ops_golang/deliveryservice/deliveryservices.go
##########
@@ -266,6 +266,14 @@ func createV30(w http.ResponseWriter, r *http.Request, inf
*api.APIInfo, ds tc.D
deepCachingType = ds.DeepCachingType.String() // necessary,
because DeepCachingType's default needs to insert the string, not "", and Query
doesn't call .String().
}
+ if ds.Topology != nil {
+ if ok, err := dbhelpers.TopologyExistsString(tx, *ds.Topology);
err != nil {
+ return nil, http.StatusInternalServerError, nil,
fmt.Errorf("checking topology existence: %v", err)
+ } else if !ok {
+ return nil, http.StatusConflict, fmt.Errorf("no such
Topology '%s'", *ds.Topology), nil
Review comment:
Sure it does. The state of the database is such that the request is
invalid - because no such topology exists. 404 would be inappropriate in this
case IMO because that typically implies that the request URI itself was not
found. In this case the request payload would be considered acceptable if the
state of the server were to change but nothing about the request itself changes
- _or_ if the request changes to be acceptable given the server's state.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]