def METHOD_NAME(self):
    """Return the Via URL for annotating the given Blackboard file."""
    course_id = self.request.matchdict["course_id"]
    course = self.request.find_service(name="course").get_by_context_id(
        course_id, raise_on_missing=True
    )
    document_url = self.request.params["document_url"]
    file_id = course.get_mapped_file_id(
        DOCUMENT_URL_REGEX.search(document_url)["file_id"]
    )
    try:
        if self.request.lti_user.is_instructor:
            if not self.course_copy_plugin.is_file_in_course(course_id, file_id):
                raise FileNotFoundInCourse(
                    "blackboard_file_not_found_in_course", file_id
                )
        public_url = self.blackboard_api_client.public_url(course_id, file_id)
    except FileNotFoundInCourse:
        found_file = self.course_copy_plugin.find_matching_file_in_course(
            file_id, course_id
        )
        if not found_file:
            raise
        # Try again to return a public URL, this time using found_file_id.
        public_url = self.blackboard_api_client.public_url(
            course_id, found_file.lms_id
        )
        # Store a mapping so we don't have to re-search next time.
        course.set_mapped_file_id(file_id, found_file.lms_id)
    METHOD_NAME = helpers.METHOD_NAME(self.request, public_url, content_type="pdf")
    return {"via_url": METHOD_NAME}