Performs a GET request where the response content type is required to be
        "application/json" and the content is a JSON-encoded data structure.
        The decoded structure is returned.

def getmap(self, path, query=None):
        """
        Performs a GET request where the response content type is required to be
        "application/json" and the content is a JSON-encoded data structure.
        The decoded structure is returned.
    """
        code, data, ctype = self.get(path, query)
        if ctype != 'application/json':
            self.log.error("Expecting JSON from GET of '%s', got '%s'", self.lastpath, ctype)
            raise HttpError(code=400, content_type='text/plain', content='Remote returned invalid content type: '+ctype)
        try:
            result = json.loads(data)
        except Exception as e:                                                                  # pragma: no cover
            self.log.error("Could not load JSON content from GET %r -- %s", self.lastpath, e)
            raise HttpError(code=400, content_type='text/plain', content='Could not load JSON content')
        return result