Skip to content

Commit 93a588f

Browse files
committed
Fixed VCR tests
1 parent 7748f64 commit 93a588f

20 files changed

+782
-337
lines changed

garminconnect/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -463,7 +463,7 @@ def get_floors(self, cdate: str) -> dict[str, Any]:
463463

464464
return response
465465

466-
def get_daily_steps(self, start: str, end: str) -> dict[str, Any]:
466+
def get_daily_steps(self, start: str, end: str) -> list[dict[str, Any]]:
467467
"""Fetch available steps data 'start' and 'end' format 'YYYY-MM-DD'."""
468468

469469
# Validate inputs
@@ -1162,7 +1162,7 @@ def get_rhr_day(self, cdate: str) -> dict[str, Any]:
11621162

11631163
return self.connectapi(url, params=params)
11641164

1165-
def get_hrv_data(self, cdate: str) -> dict[str, Any]:
1165+
def get_hrv_data(self, cdate: str) -> dict[str, Any] | None:
11661166
"""Return Heart Rate Variability (hrv) data for current user."""
11671167

11681168
cdate = _validate_date_format(cdate, "cdate")

pyproject.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,11 @@ clean = "python -c \"import shutil, pathlib; [shutil.rmtree(p, ignore_errors=Tru
146146
build = "pdm build"
147147
publish = {composite = ["build", "pdm publish"]}
148148

149+
# VCR cassette management
150+
record-vcr = {env = {GARMINTOKENS = "~/.garminconnect"}, cmd = "pdm run pytest tests/test_garmin.py -v --vcr-record=new_episodes"}
151+
clean-vcr = "rm -f tests/cassettes/*.yaml"
152+
reset-vcr = {composite = ["clean-vcr", "record-vcr"]}
153+
149154
# Quality checks
150155
all = {composite = ["lint", "codespell", "test"]}
151156

tests/cassettes/test_all_day_stress.yaml

Lines changed: 88 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,86 @@
11
interactions:
2+
- request:
3+
body: null
4+
headers:
5+
Accept:
6+
- '*/*'
7+
Accept-Encoding:
8+
- gzip, deflate
9+
Authorization:
10+
- Bearer SANITIZED
11+
Connection:
12+
- keep-alive
13+
User-Agent:
14+
- GCM-iOS-5.7.2.1
15+
method: GET
16+
uri: https://connectapi.garmin.com/userprofile-service/socialProfile
17+
response:
18+
body:
19+
string: '{"id": 376735957, "profileId": 82413233, "garminGUID": "3c814e7a-0db1-41a4-bdb8-4944db6fb8b3",
20+
"displayName": "5da0f071-075e-438c-ae63-c3f3eef73b1e", "fullName": "Ron",
21+
"userName": "[email protected]", "profileImageType": "UPLOADED_PHOTO", "profileImageUrlLarge":
22+
"https://s3.amazonaws.com/garmin-connect-prod/profile_images/72374c73-8173-4d9c-b64a-ad26b0e8e664-prof.png",
23+
"profileImageUrlMedium": "https://s3.amazonaws.com/garmin-connect-prod/profile_images/72374c73-8173-4d9c-b64a-ad26b0e8e664-prfr.png",
24+
"profileImageUrlSmall": "https://s3.amazonaws.com/garmin-connect-prod/profile_images/72374c73-8173-4d9c-b64a-ad26b0e8e664-prth.png",
25+
"hasPremiumSocialIcon": false, "location": "Dordrecht", "facebookUrl": "",
26+
"twitterUrl": "", "personalWebsite": "", "motivation": 3, "bio": null, "primaryActivity":
27+
"running", "favoriteActivityTypes": ["running", "walking", "hiking", "weight_training"],
28+
"runningTrainingSpeed": 2.857143, "cyclingTrainingSpeed": 0.0, "favoriteCyclingActivityTypes":
29+
[], "cyclingClassification": null, "cyclingMaxAvgPower": 0.0, "swimmingTrainingSpeed":
30+
0.0, "profileVisibility": "private", "activityStartVisibility": "public",
31+
"activityMapVisibility": "public", "courseVisibility": "public", "activityHeartRateVisibility":
32+
"public", "activityPowerVisibility": "public", "badgeVisibility": "following",
33+
"showAge": true, "showWeight": true, "showHeight": true, "showWeightClass":
34+
false, "showAgeRange": false, "showGender": true, "showActivityClass": true,
35+
"showVO2Max": true, "showPersonalRecords": true, "showLast12Months": true,
36+
"showLifetimeTotals": true, "showUpcomingEvents": true, "showRecentFavorites":
37+
true, "showRecentDevice": true, "showRecentGear": false, "showBadges": true,
38+
"otherActivity": "", "otherPrimaryActivity": null, "otherMotivation": null,
39+
"userRoles": ["SCOPE_ATP_READ", "SCOPE_ATP_WRITE", "SCOPE_COMMUNITY_COURSE_READ",
40+
"SCOPE_COMMUNITY_COURSE_WRITE", "SCOPE_CONNECT_MCT_DAILY_LOG_READ", "SCOPE_CONNECT_READ",
41+
"SCOPE_CONNECT_WRITE", "SCOPE_DIVE_API_READ", "SCOPE_DI_OAUTH_2_AUTHORIZATION_CODE_CREATE",
42+
"SCOPE_DT_CLIENT_ANALYTICS_WRITE", "SCOPE_GARMINPAY_READ", "SCOPE_GARMINPAY_WRITE",
43+
"SCOPE_GCOFFER_READ", "SCOPE_GCOFFER_WRITE", "SCOPE_GHS_SAMD", "SCOPE_GHS_UPLOAD",
44+
"SCOPE_GOLF_API_READ", "SCOPE_GOLF_API_WRITE", "SCOPE_INSIGHTS_READ", "SCOPE_INSIGHTS_WRITE",
45+
"SCOPE_OMT_CAMPAIGN_READ", "SCOPE_OMT_SUBSCRIPTION_READ", "SCOPE_PRODUCT_SEARCH_READ",
46+
"ROLE_CONNECTUSER", "ROLE_FITNESS_USER", "ROLE_WELLNESS_USER", "ROLE_OUTDOOR_USER"],
47+
"nameApproved": true, "userProfileFullName": "Ron", "makeGolfScorecardsPrivate":
48+
true, "allowGolfLiveScoring": false, "allowGolfScoringByConnections": true,
49+
"userLevel": 3, "userPoint": 137, "levelUpdateDate": "2022-02-22T13:15:51.0",
50+
"levelIsViewed": false, "levelPointThreshold": 140, "userPointOffset": 0,
51+
"userPro": false}'
52+
headers:
53+
CF-RAY:
54+
- 978326b54d237754-AMS
55+
Cache-Control:
56+
- no-cache, no-store, private
57+
Connection:
58+
- keep-alive
59+
Content-Encoding:
60+
- gzip
61+
Content-Type:
62+
- application/json;charset=UTF-8
63+
Date:
64+
- Mon, 01 Sep 2025 07:45:58 GMT
65+
NEL:
66+
- '{"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}'
67+
Report-To:
68+
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=NF5LOcUv0zrjUILoxQR96r5vp%2FQweKrU6zaGUx0w5tmHJWq4WHRE3Ztgi2qPTvT2xukFja9NyJNPsK8khFHdq80i8WYHwKcQixEiqfyQhTDJYuG8qSjrjXXdW8JvzJhg6iWdD50owqPjctgD3p%2BlOJUh2g%3D%3D"}],"group":"cf-nel","max_age":604800}'
69+
Server:
70+
- cloudflare
71+
Set-Cookie:
72+
- _cfuvid=SANITIZED; path=SANITIZED; domain=SANITIZED; HttpOnly; Secure; SameSite=SANITIZED
73+
Transfer-Encoding:
74+
- chunked
75+
alt-svc:
76+
- h3=":443"; ma=86400
77+
cf-cache-status:
78+
- DYNAMIC
79+
pragma:
80+
- no-cache
81+
status:
82+
code: 200
83+
message: OK
284
- request:
385
body: null
486
headers:
@@ -55,7 +137,7 @@ interactions:
55137
23400}]}'
56138
headers:
57139
CF-RAY:
58-
- 9782f24bacbe0bdc-AMS
140+
- 978326b64a5b93c0-AMS
59141
Cache-Control:
60142
- no-cache, no-store, private
61143
Connection:
@@ -65,11 +147,11 @@ interactions:
65147
Content-Type:
66148
- application/json;charset=UTF-8
67149
Date:
68-
- Mon, 01 Sep 2025 07:10:11 GMT
150+
- Mon, 01 Sep 2025 07:45:58 GMT
69151
NEL:
70152
- '{"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}'
71153
Report-To:
72-
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=k1ECu9xhvTTLpkLsSty0iEgayPa1cQzE3Kg5kaomThrL5gLvdZZImI7b2ZbLRXTkPKbuVEkJJhzdrogYrOEM%2BUMMQ8naC8b4DmmC7au3Sn2aLPPqOHZjnyTNkw4aK0kZZVqn%2BDjmeqjmc0OeCtVm%2BrNLmA%3D%3D"}],"group":"cf-nel","max_age":604800}'
154+
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=jbn89JwUBnF1pmypZevSIQgX%2BJFKEfyCo7zIChFPVgqmIk%2FK4yuyDH05F8cD0%2FMLeGmytaRNrLzrMA5zi8ZPkM%2FkK49pcX0ocIZUzCXh4yvKTRZhvo9WwUeDyGsc7ZdTMVId%2B%2FxdGzD4KmcAxX6ydQuI%2Bw%3D%3D"}],"group":"cf-nel","max_age":604800}'
73155
Server:
74156
- cloudflare
75157
Transfer-Encoding:
@@ -109,7 +191,7 @@ interactions:
109191
-1, "stressValueDescriptorsDTOList": [], "stressValuesArray": []}'
110192
headers:
111193
CF-RAY:
112-
- 9782f24cfdfd3466-AMS
194+
- 978326b79d3088ce-AMS
113195
Cache-Control:
114196
- no-cache, no-store, private
115197
Connection:
@@ -119,11 +201,11 @@ interactions:
119201
Content-Type:
120202
- application/json
121203
Date:
122-
- Mon, 01 Sep 2025 07:10:12 GMT
204+
- Mon, 01 Sep 2025 07:45:59 GMT
123205
NEL:
124206
- '{"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}'
125207
Report-To:
126-
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=P%2Bz6lvMEZW2duTQrg%2Fp%2FT2IcjqYp0w6zFS3vxR0nR8ruw9FSb8I7v7OJhAbTSLxyTd%2FUrelHAc2yq9LughzEJRmhZvRm6v1itsOc90ap1t164kaR89RxNVaUshkOSjhUh4qFlu4FZ0U6YsKj%2B6hwNaxYOA%3D%3D"}],"group":"cf-nel","max_age":604800}'
208+
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=kakzkbZJl9ILa47b%2F5IYzigSuIFV%2FaAWIiSGie4c67vW8tKMtCU%2FK9CX3vyBURL5ZJhDry%2FfffsS2h8Jmwk%2FFdA%2FEMcDxKdjK5elsCXn4RP3SjDa%2FGQIEw5w7TG6BHT2CzUgJGpdBiFjvHFF3eru77qwnw%3D%3D"}],"group":"cf-nel","max_age":604800}'
127209
Server:
128210
- cloudflare
129211
Transfer-Encoding:

tests/cassettes/test_body_battery.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ interactions:
5555
23400}]}'
5656
headers:
5757
CF-RAY:
58-
- 9782f239b8bdb674-AMS
58+
- 97830508dc3a88ce-AMS
5959
Cache-Control:
6060
- no-cache, no-store, private
6161
Connection:
@@ -65,11 +65,11 @@ interactions:
6565
Content-Type:
6666
- application/json;charset=UTF-8
6767
Date:
68-
- Mon, 01 Sep 2025 07:10:09 GMT
68+
- Mon, 01 Sep 2025 07:22:59 GMT
6969
NEL:
7070
- '{"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}'
7171
Report-To:
72-
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=G%2BWUPiZNbMV8FL%2FYCukfvpmxJceQBc3RdOn2ytHnbNRUHcMqKJEZ2tySWXP0FcerZCZ%2F5V6pDsC9l71xqELJvkR0zbPggrd6j0PSXcAwphoxlrJq5CdpC4ozDbs6nv3Alk4J9kKqwK6CJ2YCtPQ5cLenoA%3D%3D"}],"group":"cf-nel","max_age":604800}'
72+
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=Yx88Jmy7VneKy8avByasmMro2aOinhb1PeB1kxMdDbu5JiVaXGGy7lJ1JmY3p%2FIypzB9WG%2Fb%2BVgKGqxwNqLJNvlRFzCY%2BEtpEh%2Bspc5O8p8ml4HHfTpdI9xug%2BZPASRV37CG5%2BZl%2FieDU4xem4%2FfNTjaNg%3D%3D"}],"group":"cf-nel","max_age":604800}'
7373
Server:
7474
- cloudflare
7575
Transfer-Encoding:
@@ -111,7 +111,7 @@ interactions:
111111
{"bodyBatteryValueDescriptorIndex": 1, "bodyBatteryValueDescriptorKey": "bodyBatteryLevel"}]}]'
112112
headers:
113113
CF-RAY:
114-
- 9782f23b4f8e0e3c-AMS
114+
- 9783050a1d080a4f-AMS
115115
Cache-Control:
116116
- no-cache, no-store, private
117117
Connection:
@@ -121,11 +121,11 @@ interactions:
121121
Content-Type:
122122
- application/json
123123
Date:
124-
- Mon, 01 Sep 2025 07:10:09 GMT
124+
- Mon, 01 Sep 2025 07:22:59 GMT
125125
NEL:
126126
- '{"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}'
127127
Report-To:
128-
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=87s74swcBrQP9pFo7I1R7Z1pwGZX50neeDStpT%2Bbk86yO7bWz97uzjfeZOdtFzlZXdc%2BlQj%2FGlivvF9TX6kcVWZptQQbbs7ADAFfz63kUfjdr3phj%2BXOwT3VLn5oTQw4CjH0ZAjt3Q94fbtjQoTg5ZOHsg%3D%3D"}],"group":"cf-nel","max_age":604800}'
128+
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=VEc4l5ptb7spSCVSBDIZ6tLGAcLiEBRmqaOt5DQ0xUCut9BlDi5TkBP2pKebyLpFAM%2Bcmdp9iC4pMNf9CzQJs%2FnO4OZZyOB%2FjS8wBeQp6dCINV8uJ%2BpEb6oWrtHqV%2BtkFjguK0IqKzFUzEJ5p9GCXtrgvg%3D%3D"}],"group":"cf-nel","max_age":604800}'
129129
Server:
130130
- cloudflare
131131
Transfer-Encoding:

tests/cassettes/test_body_composition.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ interactions:
5555
23400}]}'
5656
headers:
5757
CF-RAY:
58-
- 9782f2371a977638-AMS
58+
- 97830505dbf70bb9-AMS
5959
Cache-Control:
6060
- no-cache, no-store, private
6161
Connection:
@@ -65,11 +65,11 @@ interactions:
6565
Content-Type:
6666
- application/json;charset=UTF-8
6767
Date:
68-
- Mon, 01 Sep 2025 07:10:08 GMT
68+
- Mon, 01 Sep 2025 07:22:59 GMT
6969
NEL:
7070
- '{"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}'
7171
Report-To:
72-
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=0yEkw8OthiBV92sKJ49HFgdtTB%2FZvYUETMaK1uvxYOXHBwM7X6HWmIS5BvM8kYCRmgC2ka0qEAJRp3WAzzMankvowQFFhA9PTdKh7ZB8YZwhQfKvBhUc9vsM1JuPwE0bw%2BHJO9wPAaxgTLsF81q5Fw%2BPOw%3D%3D"}],"group":"cf-nel","max_age":604800}'
72+
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=3Xv5m090Pat8QakUzIXQk1EEjRKchZCXuvBMZHTDitdkA%2BBVYDAHMgvLOSrdxwQFn5P5QoBD3jfzUWE%2FKgTJNJ5tuz1iL9RceeXx3kEbWGk%2Bwhjm0ex5rSI9fVHBVui4Puqt1ua4%2B2uEy72jkzAV1XdCKA%3D%3D"}],"group":"cf-nel","max_age":604800}'
7373
Server:
7474
- cloudflare
7575
Transfer-Encoding:
@@ -108,7 +108,7 @@ interactions:
108108
null, "physiqueRating": null, "visceralFat": null, "metabolicAge": null}}'
109109
headers:
110110
CF-RAY:
111-
- 9782f2389a2106d0-AMS
111+
- 97830507bdb10a4b-AMS
112112
Cache-Control:
113113
- no-cache, no-store, private
114114
Connection:
@@ -118,11 +118,11 @@ interactions:
118118
Content-Type:
119119
- application/json
120120
Date:
121-
- Mon, 01 Sep 2025 07:10:08 GMT
121+
- Mon, 01 Sep 2025 07:22:59 GMT
122122
NEL:
123123
- '{"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}'
124124
Report-To:
125-
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=h2jLfMELsqqhYLlY5WeG%2BBlfpRF%2FzYZK4PY5sEmnH0ZkCj4GUgOVtaY8swOINENvoI7piUW5ltZSoMYSX7Xgw5T67iv9k3OSeITCAOECXNIi2a%2FNNX4kM1fuF6YUCGyZCTSV2J%2FkeSp1zKZAiJb5TsbPWw%3D%3D"}],"group":"cf-nel","max_age":604800}'
125+
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=oXsUOgeuhKMJvlbdfkD1dPAMWUa7Hp2tQp%2BRo%2B16IpENF1gm4oDWjGBMzCKkfucoVKz49PRFt7bId6TojbSsJUS4e7UgLGDZx%2BnTKyGy3T1fIxeMq7hHSjsA4LYgyY%2B1aR6K8EVS6bszSaYMHWOqiLGmoA%3D%3D"}],"group":"cf-nel","max_age":604800}'
126126
Server:
127127
- cloudflare
128128
Transfer-Encoding:

tests/cassettes/test_daily_steps.yaml

Lines changed: 88 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,86 @@
11
interactions:
2+
- request:
3+
body: null
4+
headers:
5+
Accept:
6+
- '*/*'
7+
Accept-Encoding:
8+
- gzip, deflate
9+
Authorization:
10+
- Bearer SANITIZED
11+
Connection:
12+
- keep-alive
13+
User-Agent:
14+
- GCM-iOS-5.7.2.1
15+
method: GET
16+
uri: https://connectapi.garmin.com/userprofile-service/socialProfile
17+
response:
18+
body:
19+
string: '{"id": 376735957, "profileId": 82413233, "garminGUID": "3c814e7a-0db1-41a4-bdb8-4944db6fb8b3",
20+
"displayName": "5da0f071-075e-438c-ae63-c3f3eef73b1e", "fullName": "Ron",
21+
"userName": "[email protected]", "profileImageType": "UPLOADED_PHOTO", "profileImageUrlLarge":
22+
"https://s3.amazonaws.com/garmin-connect-prod/profile_images/72374c73-8173-4d9c-b64a-ad26b0e8e664-prof.png",
23+
"profileImageUrlMedium": "https://s3.amazonaws.com/garmin-connect-prod/profile_images/72374c73-8173-4d9c-b64a-ad26b0e8e664-prfr.png",
24+
"profileImageUrlSmall": "https://s3.amazonaws.com/garmin-connect-prod/profile_images/72374c73-8173-4d9c-b64a-ad26b0e8e664-prth.png",
25+
"hasPremiumSocialIcon": false, "location": "Dordrecht", "facebookUrl": "",
26+
"twitterUrl": "", "personalWebsite": "", "motivation": 3, "bio": null, "primaryActivity":
27+
"running", "favoriteActivityTypes": ["running", "walking", "hiking", "weight_training"],
28+
"runningTrainingSpeed": 2.857143, "cyclingTrainingSpeed": 0.0, "favoriteCyclingActivityTypes":
29+
[], "cyclingClassification": null, "cyclingMaxAvgPower": 0.0, "swimmingTrainingSpeed":
30+
0.0, "profileVisibility": "private", "activityStartVisibility": "public",
31+
"activityMapVisibility": "public", "courseVisibility": "public", "activityHeartRateVisibility":
32+
"public", "activityPowerVisibility": "public", "badgeVisibility": "following",
33+
"showAge": true, "showWeight": true, "showHeight": true, "showWeightClass":
34+
false, "showAgeRange": false, "showGender": true, "showActivityClass": true,
35+
"showVO2Max": true, "showPersonalRecords": true, "showLast12Months": true,
36+
"showLifetimeTotals": true, "showUpcomingEvents": true, "showRecentFavorites":
37+
true, "showRecentDevice": true, "showRecentGear": false, "showBadges": true,
38+
"otherActivity": "", "otherPrimaryActivity": null, "otherMotivation": null,
39+
"userRoles": ["SCOPE_ATP_READ", "SCOPE_ATP_WRITE", "SCOPE_COMMUNITY_COURSE_READ",
40+
"SCOPE_COMMUNITY_COURSE_WRITE", "SCOPE_CONNECT_MCT_DAILY_LOG_READ", "SCOPE_CONNECT_READ",
41+
"SCOPE_CONNECT_WRITE", "SCOPE_DIVE_API_READ", "SCOPE_DI_OAUTH_2_AUTHORIZATION_CODE_CREATE",
42+
"SCOPE_DT_CLIENT_ANALYTICS_WRITE", "SCOPE_GARMINPAY_READ", "SCOPE_GARMINPAY_WRITE",
43+
"SCOPE_GCOFFER_READ", "SCOPE_GCOFFER_WRITE", "SCOPE_GHS_SAMD", "SCOPE_GHS_UPLOAD",
44+
"SCOPE_GOLF_API_READ", "SCOPE_GOLF_API_WRITE", "SCOPE_INSIGHTS_READ", "SCOPE_INSIGHTS_WRITE",
45+
"SCOPE_OMT_CAMPAIGN_READ", "SCOPE_OMT_SUBSCRIPTION_READ", "SCOPE_PRODUCT_SEARCH_READ",
46+
"ROLE_CONNECTUSER", "ROLE_FITNESS_USER", "ROLE_WELLNESS_USER", "ROLE_OUTDOOR_USER"],
47+
"nameApproved": true, "userProfileFullName": "Ron", "makeGolfScorecardsPrivate":
48+
true, "allowGolfLiveScoring": false, "allowGolfScoringByConnections": true,
49+
"userLevel": 3, "userPoint": 137, "levelUpdateDate": "2022-02-22T13:15:51.0",
50+
"levelIsViewed": false, "levelPointThreshold": 140, "userPointOffset": 0,
51+
"userPro": false}'
52+
headers:
53+
CF-RAY:
54+
- 97831b396ed0fb99-AMS
55+
Cache-Control:
56+
- no-cache, no-store, private
57+
Connection:
58+
- keep-alive
59+
Content-Encoding:
60+
- gzip
61+
Content-Type:
62+
- application/json;charset=UTF-8
63+
Date:
64+
- Mon, 01 Sep 2025 07:38:08 GMT
65+
NEL:
66+
- '{"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}'
67+
Report-To:
68+
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=Mah05VcLHh8xzjszpFnUmdePZlrPoG6Pbnc%2B2aO%2Ffg3GtJtLAdfvYM8wWayK8W1Vg%2Bj4I7TjlGEU0f4HeSB2Ks8N4wW5QeInP%2BA36s071pTo2GdbFVcmc9BcsuoUffTZQRDJ5P97vRaWEumkSVlniwZegw%3D%3D"}],"group":"cf-nel","max_age":604800}'
69+
Server:
70+
- cloudflare
71+
Set-Cookie:
72+
- _cfuvid=SANITIZED; path=SANITIZED; domain=SANITIZED; HttpOnly; Secure; SameSite=SANITIZED
73+
Transfer-Encoding:
74+
- chunked
75+
alt-svc:
76+
- h3=":443"; ma=86400
77+
cf-cache-status:
78+
- DYNAMIC
79+
pragma:
80+
- no-cache
81+
status:
82+
code: 200
83+
message: OK
284
- request:
385
body: null
486
headers:
@@ -55,7 +137,7 @@ interactions:
55137
23400}]}'
56138
headers:
57139
CF-RAY:
58-
- 9782f22e0cbc9714-AMS
140+
- 97831b3a6cba0e4c-AMS
59141
Cache-Control:
60142
- no-cache, no-store, private
61143
Connection:
@@ -65,11 +147,11 @@ interactions:
65147
Content-Type:
66148
- application/json;charset=UTF-8
67149
Date:
68-
- Mon, 01 Sep 2025 07:10:07 GMT
150+
- Mon, 01 Sep 2025 07:38:08 GMT
69151
NEL:
70152
- '{"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}'
71153
Report-To:
72-
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=41pB9O9GHGnAYEcXZ9G38MGWV1hGUPGO0Hj6%2BrvheVUxbYEaXfWXWQgNaYSqBbsc92zmQfHlB%2B%2FLQpOvOJGM%2BdE17gMVQRhHNxfDu%2F%2BasqIgzLpJZTU4yc4bYwbFB%2B%2BRBF8F%2BSxUqlWycK0GQeKy2PhTjA%3D%3D"}],"group":"cf-nel","max_age":604800}'
154+
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=NJ31NwoC769cR3eSogc%2BE2dpnySs8cepfTpgDUaYMNiVCBxtXFk4xaE2OwOrHcRI%2F1tPW1P%2BknCIcz0qS9BrLIvE8sDD7EDc6Ax2rQow%2FHcCoUfrlx7sqtiNDjugddx%2FKS31uOSowiiR%2FoDZ1%2FY8DyFbcQ%3D%3D"}],"group":"cf-nel","max_age":604800}'
73155
Server:
74156
- cloudflare
75157
Transfer-Encoding:
@@ -106,7 +188,7 @@ interactions:
106188
937, "stepGoal": 3490}]'
107189
headers:
108190
CF-RAY:
109-
- 9782f22f5a4a29c4-AMS
191+
- 97831b3bcb131606-AMS
110192
Cache-Control:
111193
- no-cache, no-store, private
112194
Connection:
@@ -116,11 +198,11 @@ interactions:
116198
Content-Type:
117199
- application/json
118200
Date:
119-
- Mon, 01 Sep 2025 07:10:07 GMT
201+
- Mon, 01 Sep 2025 07:38:08 GMT
120202
NEL:
121203
- '{"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}'
122204
Report-To:
123-
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=aLsiRtRXEL6YSWMuHdQ5BMnc%2BTrikxU5PULnhJVcfLbiZRzkK62YZYpzXP4BYNU%2F%2Besz8WSdzVnM9hVA64yn6xuT32yCJNz0hN%2B1MvA%2FJ%2FjxVkhOEdalI6S1bK%2BkZ97eqHKjSlMXGmKfi4n6S6CTPf%2FKRQ%3D%3D"}],"group":"cf-nel","max_age":604800}'
205+
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=rnzApVA%2F0g6WKaVBLJGNQHVhUlGOQh7%2BOdGvGLScV%2BirWj0%2FNo8IA7XCxGPRfMjMlBFfZgwwkzHEyT%2BBYx43eyNMvcsF5DjSuhgdiHcG4aCe%2B37E0%2BYxkt5WCLHEZUEc9HD2y2YwvZ7Dgk%2Bkbg12K%2FwiyQ%3D%3D"}],"group":"cf-nel","max_age":604800}'
124206
Server:
125207
- cloudflare
126208
Transfer-Encoding:

0 commit comments

Comments
 (0)