interactions: - request: body: subscription%5Bendpoint%5D=https%3A%2F%2Fexample.com&subscription%5Bkeys%5D%5Bp256dh%5D=BKLKkhUwlSEHYmTxHWUkcTfm1nfwbhvp47tSO4AF8%2FvA5YUssHzMblywqcdq7y0lZtKvSIVYpRLRpSdmKgnhIX4%3D&subscription%5Bkeys%5D%5Bauth%5D=oelFe68rpnwll8h7vWYZkw%3D%3D&data%5Balerts%5D%5Bfollow%5D=0&data%5Balerts%5D%5Bfavourite%5D=0&data%5Balerts%5D%5Breblog%5D=0&data%5Balerts%5D%5Bmention%5D=0 headers: Accept: ['*/*'] Accept-Encoding: ['gzip, deflate'] Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN] Connection: [keep-alive] Content-Length: ['370'] Content-Type: [application/x-www-form-urlencoded] User-Agent: [python-requests/2.18.4] method: POST uri: http://localhost:3000/api/v1/push/subscription response: body: {string: '{"id":2,"endpoint":"https://example.com","alerts":{"follow":false,"favourite":false,"reblog":false,"mention":false},"server_key":"BPSW9N0oBHCeTlN6VgEPwlf36QQzuU6XtxguTJSM9xyW9kxnN2I_lzcHsk3ShJMRa0Na7t2kiE9UyJWrtQOsTJo="}'} headers: Cache-Control: ['no-cache, no-store'] Content-Type: [application/json; charset=utf-8] Referrer-Policy: [strict-origin-when-cross-origin] Transfer-Encoding: [chunked] Vary: ['Accept-Encoding, Origin'] X-Content-Type-Options: [nosniff] X-Download-Options: [noopen] X-Frame-Options: [SAMEORIGIN] X-Permitted-Cross-Domain-Policies: [none] X-Request-Id: [24aaab97-8db2-477a-9153-b2580eb291f8] X-Runtime: ['0.037218'] X-XSS-Protection: [1; mode=block] content-length: ['220'] status: {code: 200, message: OK} - request: body: data%5Balerts%5D%5Bfollow%5D=1&data%5Balerts%5D%5Bfavourite%5D=1&data%5Balerts%5D%5Breblog%5D=1&data%5Balerts%5D%5Bmention%5D=1 headers: Accept: ['*/*'] Accept-Encoding: ['gzip, deflate'] Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN] Connection: [keep-alive] Content-Length: ['127'] Content-Type: [application/x-www-form-urlencoded] User-Agent: [python-requests/2.18.4] method: PUT uri: http://localhost:3000/api/v1/push/subscription response: body: {string: '{"id":2,"endpoint":"https://example.com","alerts":{"follow":true,"favourite":true,"reblog":true,"mention":true},"server_key":"BPSW9N0oBHCeTlN6VgEPwlf36QQzuU6XtxguTJSM9xyW9kxnN2I_lzcHsk3ShJMRa0Na7t2kiE9UyJWrtQOsTJo="}'} headers: Cache-Control: ['no-cache, no-store'] Content-Type: [application/json; charset=utf-8] Referrer-Policy: [strict-origin-when-cross-origin] Transfer-Encoding: [chunked] Vary: ['Accept-Encoding, Origin'] X-Content-Type-Options: [nosniff] X-Download-Options: [noopen] X-Frame-Options: [SAMEORIGIN] X-Permitted-Cross-Domain-Policies: [none] X-Request-Id: [6b278a6a-1307-4538-a866-37fe5693e156] X-Runtime: ['0.033939'] X-XSS-Protection: [1; mode=block] content-length: ['216'] status: {code: 200, message: OK} - request: body: null headers: Accept: ['*/*'] Accept-Encoding: ['gzip, deflate'] Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN] Connection: [keep-alive] User-Agent: [python-requests/2.18.4] method: GET uri: http://localhost:3000/api/v1/push/subscription response: body: {string: '{"id":2,"endpoint":"https://example.com","alerts":{"follow":true,"favourite":true,"reblog":true,"mention":true},"server_key":"BPSW9N0oBHCeTlN6VgEPwlf36QQzuU6XtxguTJSM9xyW9kxnN2I_lzcHsk3ShJMRa0Na7t2kiE9UyJWrtQOsTJo="}'} headers: Cache-Control: ['no-cache, no-store'] Content-Type: [application/json; charset=utf-8] Referrer-Policy: [strict-origin-when-cross-origin] Transfer-Encoding: [chunked] Vary: ['Accept-Encoding, Origin'] X-Content-Type-Options: [nosniff] X-Download-Options: [noopen] X-Frame-Options: [SAMEORIGIN] X-Permitted-Cross-Domain-Policies: [none] X-Request-Id: [f8777881-aa4d-4460-8426-bd7412b67b29] X-Runtime: ['0.027582'] X-XSS-Protection: [1; mode=block] content-length: ['216'] status: {code: 200, message: OK} - request: body: data%5Balerts%5D%5Bfollow%5D=0&data%5Balerts%5D%5Bfavourite%5D=0&data%5Balerts%5D%5Breblog%5D=0&data%5Balerts%5D%5Bmention%5D=0 headers: Accept: ['*/*'] Accept-Encoding: ['gzip, deflate'] Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN] Connection: [keep-alive] Content-Length: ['127'] Content-Type: [application/x-www-form-urlencoded] User-Agent: [python-requests/2.18.4] method: PUT uri: http://localhost:3000/api/v1/push/subscription response: body: {string: '{"id":2,"endpoint":"https://example.com","alerts":{"follow":false,"favourite":false,"reblog":false,"mention":false},"server_key":"BPSW9N0oBHCeTlN6VgEPwlf36QQzuU6XtxguTJSM9xyW9kxnN2I_lzcHsk3ShJMRa0Na7t2kiE9UyJWrtQOsTJo="}'} headers: Cache-Control: ['no-cache, no-store'] Content-Type: [application/json; charset=utf-8] Referrer-Policy: [strict-origin-when-cross-origin] Transfer-Encoding: [chunked] Vary: ['Accept-Encoding, Origin'] X-Content-Type-Options: [nosniff] X-Download-Options: [noopen] X-Frame-Options: [SAMEORIGIN] X-Permitted-Cross-Domain-Policies: [none] X-Request-Id: [e9eb1030-4c89-4a96-abf0-6bb19146e0c4] X-Runtime: ['0.040965'] X-XSS-Protection: [1; mode=block] content-length: ['220'] status: {code: 200, message: OK} - request: body: null headers: Accept: ['*/*'] Accept-Encoding: ['gzip, deflate'] Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN] Connection: [keep-alive] User-Agent: [python-requests/2.18.4] method: GET uri: http://localhost:3000/api/v1/push/subscription response: body: {string: '{"id":2,"endpoint":"https://example.com","alerts":{"follow":false,"favourite":false,"reblog":false,"mention":false},"server_key":"BPSW9N0oBHCeTlN6VgEPwlf36QQzuU6XtxguTJSM9xyW9kxnN2I_lzcHsk3ShJMRa0Na7t2kiE9UyJWrtQOsTJo="}'} headers: Cache-Control: ['no-cache, no-store'] Content-Type: [application/json; charset=utf-8] Referrer-Policy: [strict-origin-when-cross-origin] Transfer-Encoding: [chunked] Vary: ['Accept-Encoding, Origin'] X-Content-Type-Options: [nosniff] X-Download-Options: [noopen] X-Frame-Options: [SAMEORIGIN] X-Permitted-Cross-Domain-Policies: [none] X-Request-Id: [c164dee0-74fe-4a2a-b604-95c63e52db76] X-Runtime: ['0.027418'] X-XSS-Protection: [1; mode=block] content-length: ['220'] status: {code: 200, message: OK} - request: body: null headers: Accept: ['*/*'] Accept-Encoding: ['gzip, deflate'] Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN] Connection: [keep-alive] User-Agent: [python-requests/2.18.4] method: GET uri: http://localhost:3000/api/v1/push/subscription response: body: {string: '{"id":2,"endpoint":"https://example.com","alerts":{"follow":false,"favourite":false,"reblog":false,"mention":false},"server_key":"BPSW9N0oBHCeTlN6VgEPwlf36QQzuU6XtxguTJSM9xyW9kxnN2I_lzcHsk3ShJMRa0Na7t2kiE9UyJWrtQOsTJo="}'} headers: Cache-Control: ['no-cache, no-store'] Content-Type: [application/json; charset=utf-8] Referrer-Policy: [strict-origin-when-cross-origin] Transfer-Encoding: [chunked] Vary: ['Accept-Encoding, Origin'] X-Content-Type-Options: [nosniff] X-Download-Options: [noopen] X-Frame-Options: [SAMEORIGIN] X-Permitted-Cross-Domain-Policies: [none] X-Request-Id: [67f329f9-0f19-44c8-bef3-59d5bd55f4eb] X-Runtime: ['0.031697'] X-XSS-Protection: [1; mode=block] content-length: ['220'] status: {code: 200, message: OK} version: 1