summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--api-auditor.rst2
-rw-r--r--api-merchant.rst14
-rw-r--r--api-sync.rst37
-rw-r--r--exts/httpdomain/httpdomain.py25
4 files changed, 49 insertions, 29 deletions
diff --git a/api-auditor.rst b/api-auditor.rst
index 6ea01d7c..957b1c01 100644
--- a/api-auditor.rst
+++ b/api-auditor.rst
@@ -46,7 +46,7 @@ know-your-customer (KYC) registration before issuing contracts.
**Details:**
- .. _ExchangeList:
+ .. _AuditorVersion:
.. code-block:: tsref
interface AuditorVersion {
diff --git a/api-merchant.rst b/api-merchant.rst
index 9a04236e..0d0302f9 100644
--- a/api-merchant.rst
+++ b/api-merchant.rst
@@ -607,7 +607,7 @@ Dynamic Merchant Instance
The backend has successfully returned the list of instances stored. Returns
a `InstancesResponse`_.
- .. InstancesResponse:
+ .. _InstancesResponse:
.. code-block:: tsref
interface InstancesResponse {
@@ -650,7 +650,7 @@ The `instance` object describes the instance registered with the backend. It has
The backend has successfully created the instance. The response is a
`CreateInstanceResponse`_.
- .. CreateInstanceRequest:
+ .. _CreateInstanceRequest:
.. code-block:: tsref
interface CreateInstanceRequest {
@@ -668,7 +668,7 @@ The `instance` object describes the instance registered with the backend. It has
}
- .. CreateInstanceResponse:
+ .. _CreateInstanceResponse:
.. code-block:: tsref
interface CreateInstanceResponse {
@@ -694,7 +694,7 @@ The `instance` object describes the instance registered with the backend. It has
The backend has successfully returned the list of instances stored. Returns
a `QueryInstancesResponse`_.
- .. QueryInstancesResponse:
+ .. _QueryInstancesResponse:
.. code-block:: tsref
interface QueryInstancesResponse {
@@ -728,7 +728,7 @@ The `instance` object describes the instance registered with the backend. It has
The backend has successfully updated the instance. The response is a
`PostInstanceUpdateResponse`_.
- .. PostInstanceUpdateRequest:
+ .. _PostInstanceUpdateRequest:
.. code-block:: tsref
interface PostInstanceUpdateRequest {
@@ -744,7 +744,7 @@ The `instance` object describes the instance registered with the backend. It has
}
- .. PostInstanceUpdateResponse:
+ .. _PostInstanceUpdateResponse:
.. code-block:: tsref
interface PostInstanceUpdateResponse {
@@ -770,7 +770,7 @@ The `instance` object describes the instance registered with the backend. It has
The backend has successfully removed the instance. The response is a
`PostInstanceRemoveResponse`_.
- .. PostInstanceRemoveResponse:
+ .. _PostInstanceRemoveResponse:
.. code-block:: tsref
interface PostInstanceRemoveResponse {
diff --git a/api-sync.rst b/api-sync.rst
index 4966a01e..701c7df5 100644
--- a/api-sync.rst
+++ b/api-sync.rst
@@ -288,7 +288,7 @@ Receiving Terms of Service
HTTP specification, the synchronization service may require
the client to provide the length upfront.
- :status 413 Payload too large:
+ :status 413 Request Entity Too Large:
The requested upload exceeds the quota for the type of
account. The wallet should suggest to the user to
migrate to another backup and synchronization service
@@ -375,23 +375,24 @@ Synchronization user experience
The menu should include three entries for synchronization:
- * "synchronize" to manually trigger synchronization,
- insensitive if no synchronization provider is available
- * "export backup configuration" to re-display (and possibly
- print) the synchronization and backup parameters (URL and
- private key), insensitive if no synchronization
- provider is available, and
- * "import backup configuration" to:
- * import another devices' synchronization options
- (by specifying URL and private key, or possibly
- scanning a QR code), or
- * select a synchronization provider from the list,
- including manual specification of a URL; here
- confirmation should only be possible if the provider
- is free or can be paid for; in this case, the
- wallet should trigger the payment interaction when
- the user presses the "select" button.
- * a special button to "disable synchronization and backup"
+* "synchronize" to manually trigger synchronization,
+ insensitive if no synchronization provider is available
+* "export backup configuration" to re-display (and possibly
+ print) the synchronization and backup parameters (URL and
+ private key), insensitive if no synchronization
+ provider is available, and
+* "import backup configuration" to:
+
+ * import another devices' synchronization options
+ (by specifying URL and private key, or possibly
+ scanning a QR code), or
+ * select a synchronization provider from the list,
+ including manual specification of a URL; here
+ confirmation should only be possible if the provider
+ is free or can be paid for; in this case, the
+ wallet should trigger the payment interaction when
+ the user presses the "select" button.
+ * a special button to "disable synchronization and backup"
One usability issue here is that we are asking users to deal with a
private key. It is likely better to map private keys to trustwords
diff --git a/exts/httpdomain/httpdomain.py b/exts/httpdomain/httpdomain.py
index 03d58b79..a5e34716 100644
--- a/exts/httpdomain/httpdomain.py
+++ b/exts/httpdomain/httpdomain.py
@@ -64,7 +64,7 @@ class IETFRef(DocRef):
"""Represents a reference to the specific IETF RFC."""
def __init__(self, rfc, section):
- url = 'http://tools.ietf.org/html/rfc{0:d}'.format(rfc)
+ url = 'https://tools.ietf.org/html/rfc{0:d}'.format(rfc)
super(IETFRef, self).__init__(url, 'section-', section)
@@ -124,7 +124,7 @@ HEADER_REFS = {
'Cookie': IETFRef(2109, '4.3.4'), # also RFC6265 section 5.4
'Date': IETFRef(7231, '7.1.1.2'),
'Destination': IETFRef(2518, 9.3),
- 'ETag': IETFRef(7231, 2.3),
+ 'ETag': IETFRef(7232, 2.3),
'Expect': IETFRef(7231, '5.1.1'),
'Expires': IETFRef(7234, 5.3),
'From': IETFRef(7231, '5.5.2'),
@@ -492,6 +492,8 @@ class HTTPXRefStatusRole(XRefRole):
url = 'http://tools.ietf.org/html/rfc6585#section-4'
elif code == 449:
url = 'http://msdn.microsoft.com/en-us/library/dd891478(v=prot.10).aspx'
+ elif code == 451:
+ url = 'http://www.ietf.org/rfc/rfc7725.txt'
elif code in WEBDAV_STATUS_CODES:
url = 'http://tools.ietf.org/html/rfc4918#section-11.%d' % (WEBDAV_STATUS_CODES.index(code) + 1)
elif code in HTTP_STATUS_CODES:
@@ -646,7 +648,23 @@ class HTTPDomain(Domain):
try:
info = self.data[str(typ)][target]
except KeyError:
- return None
+ text = contnode.rawsource
+ role = self.roles.get(typ)
+ if role is None:
+ return None
+
+ if fromdocname not in _doctree_cache:
+ _doctree_cache[fromdocname] = env.get_doctree(fromdocname)
+ doctree = _doctree_cache[fromdocname]
+
+ resnode = role.result_nodes(doctree, env, node, None)[0][0]
+ if isinstance(resnode, addnodes.pending_xref):
+ text = node[0][0]
+ reporter = doctree.reporter
+ reporter.warning('Cannot resolve reference to %r' % text,
+ line=node.line)
+ return None
+ return resnode
else:
anchor = http_resource_anchor(typ, target)
title = typ.upper() + ' ' + target
@@ -741,6 +759,7 @@ class HTTPLexer(RegexLexer):
def setup(app):
app.add_domain(HTTPDomain)
+
try:
get_lexer_by_name('http')
except ClassNotFound: