mirror of
https://github.com/laurivosandi/certidude
synced 2024-12-22 16:25:17 +00:00
Better branch handling for request API calls
This commit is contained in:
parent
7225726d66
commit
4c9744308a
@ -154,8 +154,15 @@ class RequestDetailResource(object):
|
||||
"""
|
||||
Fetch certificate signing request as PEM
|
||||
"""
|
||||
resp.set_header("Content-Type", "application/pkcs10")
|
||||
|
||||
try:
|
||||
_, buf, _ = authority.get_request(cn)
|
||||
except EnvironmentError:
|
||||
logger.warning(u"Failed to serve non-existant request %s to %s",
|
||||
cn, req.context.get("remote_addr"))
|
||||
raise falcon.HTTPNotFound()
|
||||
|
||||
resp.set_header("Content-Type", "application/pkcs10")
|
||||
logger.debug(u"Signing request %s was downloaded by %s",
|
||||
cn, req.context.get("remote_addr"))
|
||||
|
||||
|
@ -19,7 +19,7 @@ class SignedCertificateDetailResource(object):
|
||||
logger.warning(u"Failed to serve non-existant certificate %s to %s",
|
||||
cn, req.context.get("remote_addr"))
|
||||
raise falcon.HTTPNotFound()
|
||||
else:
|
||||
|
||||
if preferred_type == "application/x-pem-file":
|
||||
resp.set_header("Content-Type", "application/x-pem-file")
|
||||
resp.set_header("Content-Disposition", ("attachment; filename=%s.pem" % cn))
|
||||
|
@ -87,6 +87,21 @@ def test_cli_setup_authority():
|
||||
headers={"content-type":"application/pkcs10"})
|
||||
assert r.status_code == 409 # duplicate cn, different keypair
|
||||
|
||||
r = client().simulate_get("/api/request/test/", headers={"Accept":"application/json"})
|
||||
assert r.status_code == 200
|
||||
assert r.headers.get('content-type') == "application/json"
|
||||
|
||||
r = client().simulate_get("/api/request/test/", headers={"Accept":"application/x-pem-file"})
|
||||
assert r.status_code == 200
|
||||
assert r.headers.get('content-type') == "application/x-pem-file"
|
||||
|
||||
r = client().simulate_get("/api/request/test/", headers={"Accept":"text/plain"})
|
||||
assert r.status_code == 415
|
||||
|
||||
r = client().simulate_get("/api/request/nonexistant/", headers={"Accept":"application/json"})
|
||||
assert r.status_code == 404
|
||||
|
||||
|
||||
# Test command line interface
|
||||
result = runner.invoke(cli, ['list', '-srv'])
|
||||
assert not result.exception
|
||||
|
Loading…
Reference in New Issue
Block a user