We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
[Documentation] Docs link is Absolute, not Relative
The documentation link always goes to `https://uclapi.com/docs`, even if running in, for example, staging. Just linking to `/docs` would be adequate to fix this.

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `backend/uclapi/resources/views.py`
Content:
```
1 import os
2 import requests
3 
4 from lxml import etree
5 
6 from common.decorators import uclapi_protected_endpoint
7 from common.helpers import PrettyJsonResponse as JsonResponse
8 
9 from rest_framework.decorators import api_view
10 
11 
12 @api_view(['GET'])
13 @uclapi_protected_endpoint()
14 def get_pc_availability(request, *args, **kwargs):
15     try:
16         r = requests.get(os.environ["PCA_LINK"])
17     except requests.exceptions.MissingSchema:
18         resp = JsonResponse({
19             "ok": False,
20             "error": ("Could not retrieve availability data."
21                       " Please try again later or contact us for support.")
22         }, rate_limiting_data=kwargs)
23         resp.status_code = 400
24         return resp
25 
26     try:
27         e = etree.fromstring(r.content)
28     except (ValueError, etree.XMLSyntaxError):
29         resp = JsonResponse({
30             "ok": False,
31             "error": ("Could not parse the desktop availability data."
32                       " Please try again later or contact us for support.")
33         }, rate_limiting_data=kwargs)
34         resp.status_code = 400
35         return resp
36 
37     data = []
38     for pc in e.findall("room"):
39         _ = pc.get
40         data.append({
41             "location": {
42                 "room_name": _("location"),
43                 "room_id": _("rid"),
44                 "latitude": _("latitude"),
45                 "longitude": _("longitude"),
46                 "building_name": _("buildingName"),
47                 "address": _("buildingAddress"),
48                 "postcode": _("buildingPostCode")
49             },
50             "free_seats": _("free"),
51             "total_seats": _("seats"),
52             "room_status": _("info")
53         })
54 
55     return JsonResponse({
56         "ok": True,
57         "data": data
58     }, rate_limiting_data=kwargs)
59
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/backend/uclapi/resources/views.py b/backend/uclapi/resources/views.py
--- a/backend/uclapi/resources/views.py
+++ b/backend/uclapi/resources/views.py
@@ -45,7 +45,7 @@
                 "longitude": _("longitude"),
                 "building_name": _("buildingName"),
                 "address": _("buildingAddress"),
-                "postcode": _("buildingPostCode")
+                "postcode": _("buildingPostcode")
             },
             "free_seats": _("free"),
             "total_seats": _("seats"),

{"golden_diff": "diff --git a/backend/uclapi/resources/views.py b/backend/uclapi/resources/views.py\n--- a/backend/uclapi/resources/views.py\n+++ b/backend/uclapi/resources/views.py\n@@ -45,7 +45,7 @@\n                 \"longitude\": _(\"longitude\"),\n                 \"building_name\": _(\"buildingName\"),\n                 \"address\": _(\"buildingAddress\"),\n-                \"postcode\": _(\"buildingPostCode\")\n+                \"postcode\": _(\"buildingPostcode\")\n             },\n             \"free_seats\": _(\"free\"),\n             \"total_seats\": _(\"seats\"),\n", "issue": "[Documentation] Docs link is Absolute, not Relative\nThe documentation link always goes to `https://uclapi.com/docs`, even if running in, for example, staging. Just linking to `/docs` would be adequate to fix this.\n", "before_files": [{"content": "import os\nimport requests\n\nfrom lxml import etree\n\nfrom common.decorators import uclapi_protected_endpoint\nfrom common.helpers import PrettyJsonResponse as JsonResponse\n\nfrom rest_framework.decorators import api_view\n\n\n@api_view(['GET'])\n@uclapi_protected_endpoint()\ndef get_pc_availability(request, *args, **kwargs):\n    try:\n        r = requests.get(os.environ[\"PCA_LINK\"])\n    except requests.exceptions.MissingSchema:\n        resp = JsonResponse({\n            \"ok\": False,\n            \"error\": (\"Could not retrieve availability data.\"\n                      \" Please try again later or contact us for support.\")\n        }, rate_limiting_data=kwargs)\n        resp.status_code = 400\n        return resp\n\n    try:\n        e = etree.fromstring(r.content)\n    except (ValueError, etree.XMLSyntaxError):\n        resp = JsonResponse({\n            \"ok\": False,\n            \"error\": (\"Could not parse the desktop availability data.\"\n                      \" Please try again later or contact us for support.\")\n        }, rate_limiting_data=kwargs)\n        resp.status_code = 400\n        return resp\n\n    data = []\n    for pc in e.findall(\"room\"):\n        _ = pc.get\n        data.append({\n            \"location\": {\n                \"room_name\": _(\"location\"),\n                \"room_id\": _(\"rid\"),\n                \"latitude\": _(\"latitude\"),\n                \"longitude\": _(\"longitude\"),\n                \"building_name\": _(\"buildingName\"),\n                \"address\": _(\"buildingAddress\"),\n                \"postcode\": _(\"buildingPostCode\")\n            },\n            \"free_seats\": _(\"free\"),\n            \"total_seats\": _(\"seats\"),\n            \"room_status\": _(\"info\")\n        })\n\n    return JsonResponse({\n        \"ok\": True,\n        \"data\": data\n    }, rate_limiting_data=kwargs)\n", "path": "backend/uclapi/resources/views.py"}], "after_files": [{"content": "import os\nimport requests\n\nfrom lxml import etree\n\nfrom common.decorators import uclapi_protected_endpoint\nfrom common.helpers import PrettyJsonResponse as JsonResponse\n\nfrom rest_framework.decorators import api_view\n\n\n@api_view(['GET'])\n@uclapi_protected_endpoint()\ndef get_pc_availability(request, *args, **kwargs):\n    try:\n        r = requests.get(os.environ[\"PCA_LINK\"])\n    except requests.exceptions.MissingSchema:\n        resp = JsonResponse({\n            \"ok\": False,\n            \"error\": (\"Could not retrieve availability data.\"\n                      \" Please try again later or contact us for support.\")\n        }, rate_limiting_data=kwargs)\n        resp.status_code = 400\n        return resp\n\n    try:\n        e = etree.fromstring(r.content)\n    except (ValueError, etree.XMLSyntaxError):\n        resp = JsonResponse({\n            \"ok\": False,\n            \"error\": (\"Could not parse the desktop availability data.\"\n                      \" Please try again later or contact us for support.\")\n        }, rate_limiting_data=kwargs)\n        resp.status_code = 400\n        return resp\n\n    data = []\n    for pc in e.findall(\"room\"):\n        _ = pc.get\n        data.append({\n            \"location\": {\n                \"room_name\": _(\"location\"),\n                \"room_id\": _(\"rid\"),\n                \"latitude\": _(\"latitude\"),\n                \"longitude\": _(\"longitude\"),\n                \"building_name\": _(\"buildingName\"),\n                \"address\": _(\"buildingAddress\"),\n                \"postcode\": _(\"buildingPostcode\")\n            },\n            \"free_seats\": _(\"free\"),\n            \"total_seats\": _(\"seats\"),\n            \"room_status\": _(\"info\")\n        })\n\n    return JsonResponse({\n        \"ok\": True,\n        \"data\": data\n    }, rate_limiting_data=kwargs)\n", "path": "backend/uclapi/resources/views.py"}]}