summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGraham Hayes <graham.hayes@hp.com>2015-04-14 17:24:05 +0200
committerGraham Hayes <graham.hayes@hp.com>2015-04-14 18:04:03 +0200
commite77c4645c6c9aaf4959a0ea29578ca8003c2518c (patch)
tree6a9634e76ce50bdad8233aab871f1913b7a787ae
parent35f83ceab3c776d1afc756330b1c25e835d2cb30 (diff)
downloaddesignate-proposed/kilo.tar.gz
Fix missing '/' in self link after zone import2015.1.0rc1proposed/kilo
* Also fixes content type Change-Id: I585535a38acff7fc4d7552f693a941948442a30b Closes-Bug: #1444008
-rw-r--r--designate/api/admin/controllers/extensions/import_.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/designate/api/admin/controllers/extensions/import_.py b/designate/api/admin/controllers/extensions/import_.py
index d041a89a..48649ba3 100644
--- a/designate/api/admin/controllers/extensions/import_.py
+++ b/designate/api/admin/controllers/extensions/import_.py
@@ -32,12 +32,17 @@ class ImportController(rest.RestController):
@pecan.expose(template='json:', content_type='application/json')
def post_all(self):
+
request = pecan.request
response = pecan.response
context = pecan.request.environ['context']
policy.check('zone_import', context)
+ if request.content_type != 'text/dns':
+ raise exceptions.UnsupportedContentType(
+ 'Content-type must be text/dns')
+
try:
dnspython_zone = dnszone.from_text(
request.body,
@@ -69,7 +74,7 @@ class ImportController(rest.RestController):
zone = DesignateAdapter.render('API_v2', zone, request=request)
- zone['links']['self'] = '%s%s/%s' % (
+ zone['links']['self'] = '%s/%s/%s' % (
self.BASE_URI, 'v2/zones', zone['id'])
response.headers['Location'] = zone['links']['self']