Change responder to return meaningful response message

Change-Id: I5f21ac7ce5a8ac01b38883dc146af7ef149a34af
This commit is contained in:
tonytan4ever
2014-08-14 17:42:44 -04:00
parent 9fb747c181
commit c6d8a8c4b1
5 changed files with 53 additions and 12 deletions

View File

@@ -35,23 +35,25 @@ class Responder(object):
}
}
def created(self, domain):
def created(self, provider_service_id, links):
return {
self.provider: {
"domain": domain
"id": provider_service_id,
"links": links
}
}
def updated(self, domain):
def updated(self, provider_service_id):
# TODO(tonytan4ever): May need to add link information as return
return {
self.provider: {
"domain": domain
"id": provider_service_id
}
}
def deleted(self, domain):
def deleted(self, provider_service_id):
return {
self.provider: {
"domain": domain
"id": provider_service_id
}
}

View File

@@ -49,6 +49,17 @@ class ServiceController(base.ServiceBase):
service_version.number,
domain["domain"])
# TODO(tonytan4ever): what if check_domains fail ?
# For right now we fail the who create process.
# But do we want to fail the whole service create ? probably not.
# we need to carefully divise our try_catch here.
links = [{"href": '.'.join([domain_dict['name'], suffix]),
"rel": 'access_url'}
for domain_dict, suffix, enabled in
self.client.check_domains(service.id,
service_version.number)
if enabled]
for origin in service_json["origins"]:
# Create the origins for this domain
self.client.create_backend(service.id,
@@ -58,8 +69,7 @@ class ServiceController(base.ServiceBase):
origin["ssl"],
origin["port"]
)
return self.responder.created(service.name)
return self.responder.created(service.id, links)
except fastly.FastlyError:
return self.responder.failed("failed to create service")