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]


Reply via email to