run trunk format on all files

This commit is contained in:
Georges-Antoine Assi
2024-05-21 10:18:13 -04:00
parent 3302be9f80
commit a7cf0d389a
304 changed files with 126732 additions and 127118 deletions

View File

@@ -3,8 +3,7 @@ name: Bug report
about: Report a bug, issue or problem
title: "[Bug] Bug title"
labels: bug
assignees: ''
assignees: ""
---
**RomM version**
@@ -15,6 +14,7 @@ A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
@@ -27,15 +27,17 @@ A clear and concise description of what you expected to happen.
If applicable, add screenshots to help explain your problem.
**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
**Additional context**
Add any other context about the problem here.

View File

@@ -3,6 +3,5 @@ name: Custom issue template
about: Describe this issue template's purpose here.
title: "[Other] Custom issue title"
labels: other
assignees: ''
assignees: ""
---

View File

@@ -3,8 +3,7 @@ name: Feature request
about: Suggest an idea for this project
title: "[Feature] Feature title"
labels: feature
assignees: ''
assignees: ""
---
**Is your feature request related to a problem? Please describe.**

View File

@@ -3,6 +3,5 @@ name: UI/UX
about: UI/UX improvement suggestion
title: "[UI/UX] Title"
labels: ui/ux
assignees: ''
assignees: ""
---

View File

@@ -1,10 +1,13 @@
### Description
<sup>Please describe the changes or enhancements you are proposing with this pull request.</sup>
### Related Issues
<sup>List any related issues that are addressed or fixed by this pull request.</sup>
### Checklist
Please check all that apply.
- [ ] I've tested the changes locally
@@ -15,5 +18,9 @@ Please check all that apply.
- [ ] All existing tests are passing
### Additional Notes
<sup>Add any additional information or context about the pull request here.</sup>
```
```

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 31 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 12 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 520 KiB

After

Width:  |  Height:  |  Size: 380 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 MiB

After

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 746 KiB

After

Width:  |  Height:  |  Size: 578 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 222 KiB

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 469 KiB

After

Width:  |  Height:  |  Size: 376 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 KiB

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 220 KiB

After

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 397 KiB

After

Width:  |  Height:  |  Size: 285 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 714 KiB

After

Width:  |  Height:  |  Size: 527 KiB

View File

@@ -3,8 +3,7 @@ name: Build and Push Docker Image
on:
push:
tags:
- '[0-9]+.[0-9]+.[0-9]+*'
- "[0-9]+.[0-9]+.[0-9]+*"
jobs:
build:

View File

@@ -50,8 +50,8 @@ jobs:
- name: Set up Python 3.11
uses: actions/setup-python@v4
with:
python-version: '3.11'
cache: 'poetry'
python-version: "3.11"
cache: "poetry"
- name: Install dependencies
run: |

View File

@@ -1,29 +1,33 @@
# v3.0.3 (_25-03-2024_)
## Fixed
- Removed ``PUID/GUID`` environment variables. Instead, use the ``user: "XXXX:XXXX"`` entry in docker-compose to set the owner of newly created file/folders and mounted volumes
- Removed `PUID/GUID` environment variables. Instead, use the `user: "XXXX:XXXX"` entry in docker-compose to set the owner of newly created file/folders and mounted volumes
<br>
# v3.0.2 (_25-03-2024_)
> [!WARNING]
> RomM has been organized in ``github`` and ``dockerhub``! New images will be upload to ``rommapp/romm`` repository on dockerhub and ghcr.
> RomM has been organized in `github` and `dockerhub`! New images will be upload to `rommapp/romm` repository on dockerhub and ghcr.
## Added
- Famicon disk system to emulatorjs
- Allow setting PUID/GUID/UMASK with environment variables
- Re-added external redis support. You can now use an external redis instance with RomM by setting ``REDIS_HOST`` and ``REDIS_PORT`` in the env variables. If you have those variables currently set but want to use the internal one, you'll have to remove those them.
- Famicon disk system to emulatorjs
- Allow setting PUID/GUID/UMASK with environment variables
- Re-added external redis support. You can now use an external redis instance with RomM by setting `REDIS_HOST` and `REDIS_PORT` in the env variables. If you have those variables currently set but want to use the internal one, you'll have to remove those them.
## Changed
- Added scrolling to scan logs
- Disabled amiga emulator until bios support added
- Updated [docker-compose.example.yml file](https://github.com/rommapp/romm/blob/3.0.1/examples/docker-compose.example.yml) to match new dockerhub ``rommapp`` organization
- Added scrolling to scan logs
- Disabled amiga emulator until bios support added
- Updated [docker-compose.example.yml file](https://github.com/rommapp/romm/blob/3.0.1/examples/docker-compose.example.yml) to match new dockerhub `rommapp` organization
## Fixed
- Normalized IGDB search for better results
- Fixed player viewport to fit screen better
- Fixed safari downloads file names
- Normalized IGDB search for better results
- Fixed player viewport to fit screen better
- Fixed safari downloads file names
<br>
@@ -32,372 +36,433 @@
> [!WARNING]
> This hotfix requires a few changes:
* A new volume has to be bound to `/redis-data`, check the [docker-compose.example.yml file](https://github.com/rommapp/romm/blob/3.0.1/examples/docker-compose.example.yml)
* If you're seeing "Decompress Game Core" when trying to run games in EmulatorJS, you'll need to clear storage in your browser to clear IndexedDB
- A new volume has to be bound to `/redis-data`, check the [docker-compose.example.yml file](https://github.com/rommapp/romm/blob/3.0.1/examples/docker-compose.example.yml)
- If you're seeing "Decompress Game Core" when trying to run games in EmulatorJS, you'll need to clear storage in your browser to clear IndexedDB
## Fixed
- Fix for integrated redis data persist. Check the [docker-compose.example.yml](https://github.com/rommapp/romm/blob/3.0.1/examples/docker-compose.example.yml)
- Fixed emulatorjs integration. Fixes #695
- Fixed 404 for assets endpoint
- Fixed sqlite to mariadb migration
- Fixed async tasks not running and throwing errors
- Fixed sqlite to mariadb migration. Fixes #697 and #688
- Fixed multipart game selector when change between games
- Fix for integrated redis data persist. Check the [docker-compose.example.yml](https://github.com/rommapp/romm/blob/3.0.1/examples/docker-compose.example.yml)
- Fixed emulatorjs integration. Fixes #695
- Fixed 404 for assets endpoint
- Fixed sqlite to mariadb migration
- Fixed async tasks not running and throwing errors
- Fixed sqlite to mariadb migration. Fixes #697 and #688
- Fixed multipart game selector when change between games
<br>
# v3.0.0 (_11-03-2024_)
## Hightlights
- [EmulatorJS player](https://github.com/rommapp/romm/wiki/EmulatorJS-Player): Play retro games in your web browser
- Saves and states: Upload/downlaod game saves, and play them with EmulatorJS
- More metadata: Extracts more information from IGDB, like release date, genres, related games, etc.
- New license: Now licensed under AGPL-3.0 to promote community contributions
- [EmulatorJS player](https://github.com/rommapp/romm/wiki/EmulatorJS-Player): Play retro games in your web browser
- Saves and states: Upload/downlaod game saves, and play them with EmulatorJS
- More metadata: Extracts more information from IGDB, like release date, genres, related games, etc.
- New license: Now licensed under AGPL-3.0 to promote community contributions
## New features
- Manually trigger async tasks from the UI
- New /stats endpoint to get library statistics
- Multi-file roms now download with .m3u file
- Small banner in UI when new version is available
- Manual search now also checks alternative names
- Manually trigger async tasks from the UI
- New /stats endpoint to get library statistics
- Multi-file roms now download with .m3u file
- Small banner in UI when new version is available
- Manual search now also checks alternative names
## Other changes
- Redis is now built into the image
- Dropped support for build-in SQLite database
- Faster search against IGDB API with better results
- New covers when game or cover art not found
- Improved build process and release tagging
- Improved error handling and logging
- Redis is now built into the image
- Dropped support for build-in SQLite database
- Faster search against IGDB API with better results
- New covers when game or cover art not found
- Improved build process and release tagging
- Improved error handling and logging
## Fixed
- Validation is run on config.yml file to ensure compatibility
- Fix downloading single file from multi-file roms
- Fix compressing large files for download
- Reworked the authetication system to reduce CSRF and login issues
- Reconnect websockets on page reload to catch scan progress
- Many other small bug fixes and improvements
- Validation is run on config.yml file to ensure compatibility
- Fix downloading single file from multi-file roms
- Fix compressing large files for download
- Reworked the authetication system to reduce CSRF and login issues
- Reconnect websockets on page reload to catch scan progress
- Many other small bug fixes and improvements
<br>
# v2.3.1 (_08-01-2024_)
## Fixed
- Deleting platforms now works properly when having "orphaned" platforms.
- Deleting platforms now works properly when having "orphaned" platforms.
## Changed
- Platforms can only be deleted from RomM's database. Checkbox to delete platform from filesystem have been removed.
- Platforms can only be deleted from RomM's database. Checkbox to delete platform from filesystem have been removed.
<br>
# v2.3.0 (_08-01-2024_)
## Added
- Now ``platforms`` can be ``deleted`` from the gallery. Closes [#567](https://github.com/rommapp/romm/issues/567)
- Support for ``switch`` ``updates`` and ``DLC`` files. Closes [#554](https://github.com/rommapp/romm/issues/554)
- Additional Webrcade resources by @Casuallynoted.
- ``Exclusions`` in ``config`` file now accepts ``wildcards``. Check the [config.example.yml](examples/config.example.yml). Closes [#575](https://github.com/rommapp/romm/issues/575)
- Now `platforms` can be `deleted` from the gallery. Closes [#567](https://github.com/rommapp/romm/issues/567)
- Support for `switch` `updates` and `DLC` files. Closes [#554](https://github.com/rommapp/romm/issues/554)
- Additional Webrcade resources by @Casuallynoted.
- `Exclusions` in `config` file now accepts `wildcards`. Check the [config.example.yml](examples/config.example.yml). Closes [#575](https://github.com/rommapp/romm/issues/575)
## Fixed
- ``Not identified`` games are no longer being grouped when ``group roms`` option is enabled.
- Changes in the ``config`` file from one to other platform are now more consistent. Closes [#567](https://github.com/rommapp/romm/issues/567)
- Some other minor fixes.
- `Not identified` games are no longer being grouped when `group roms` option is enabled.
- Changes in the `config` file from one to other platform are now more consistent. Closes [#567](https://github.com/rommapp/romm/issues/567)
- Some other minor fixes.
## Changed
- File extensions now can have up to ``100`` characters. Closes [#531](https://github.com/rommapp/romm/issues/531)
- Now files without extension are skipped during scan by @bfenty.
- Logs are now clearer.
- File extensions now can have up to `100` characters. Closes [#531](https://github.com/rommapp/romm/issues/531)
- Now files without extension are skipped during scan by @bfenty.
- Logs are now clearer.
<br>
# v2.2.1 (_02-01-2024_)
## Added
- Added an option to group different regions of one game in the same entry in the ``Control Panel``. Closes [#404](https://github.com/rommapp/romm/issues/404)
- Added an option to group different regions of one game in the same entry in the `Control Panel`. Closes [#404](https://github.com/rommapp/romm/issues/404)
## Fixed
- Fixed an error when scanning games with with ``ps2 opl``, ``switch titledb/productid`` or ``mame`` format.
- Fixed updating roms of a custom platform folder.
- Fixed an error when scanning games with with `ps2 opl`, `switch titledb/productid` or `mame` format.
- Fixed updating roms of a custom platform folder.
## Changed
- Now region and language tags are case insensitive to show ``emojis``.
- Now region and language tags are case insensitive to show `emojis`.
<br>
# v2.2.0 (_31-12-2023_)
## Added
- Support for ``productID`` in the file name for ``switch`` titles.
- Rom name sorting now sorts smarter, avoiding leading articles such ``The`` or ``A``, like in ``The Legend of Zelda``. Closes [#449](https://github.com/rommapp/romm/issues/449) and [#450](https://github.com/rommapp/romm/issues/450)
- Support for file names with multiple ``regions`` and ``languages``. Also uses ``emojis`` to display them. Closes [#473](https://github.com/rommapp/romm/issues/473)
- Added a button to manually ``run`` all tasks. Closes [#437](https://github.com/rommapp/romm/issues/437)
- Now if a game doesn't have cover, it will show a screenshot if available. Closes [#455](https://github.com/rommapp/romm/issues/455)
- Added a little warning icon in the platform selector if the platform is not found by IGDB.
- Now if a platform is not found by IGDB, the platform name is ``titleized``. Ex: ``pocket-challenge-v2 -> Pocket Challenge V2``. Closes [#486](https://github.com/rommapp/romm/issues/486)
- A lot more icons!. Complete list at [PR-488](https://github.com/rommapp/romm/pull/488) and [PR-493](https://github.com/rommapp/romm/pull/493)
- Support for support for AES/MVS. Closes [#503](https://github.com/rommapp/romm/issues/503)
- Added [Helm Chart](https://artifacthub.io/packages/helm/crystalnet/romm) to deploy on Kubernetes by @psych0d0g
- ``Rescan unidentified`` added to the scan view, allowing to rescan only those entries that IGDB couldn't identify in previous scans. Closes [#519](https://github.com/rommapp/romm/issues/519)
- ``Config file`` visualization added to the new ``Config`` tab in the ``Control Panel``. Partially implements some concepts of [#457](https://github.com/rommapp/romm/issues/457)
- Support for `productID` in the file name for `switch` titles.
- Rom name sorting now sorts smarter, avoiding leading articles such `The` or `A`, like in `The Legend of Zelda`. Closes [#449](https://github.com/rommapp/romm/issues/449) and [#450](https://github.com/rommapp/romm/issues/450)
- Support for file names with multiple `regions` and `languages`. Also uses `emojis` to display them. Closes [#473](https://github.com/rommapp/romm/issues/473)
- Added a button to manually `run` all tasks. Closes [#437](https://github.com/rommapp/romm/issues/437)
- Now if a game doesn't have cover, it will show a screenshot if available. Closes [#455](https://github.com/rommapp/romm/issues/455)
- Added a little warning icon in the platform selector if the platform is not found by IGDB.
- Now if a platform is not found by IGDB, the platform name is `titleized`. Ex: `pocket-challenge-v2 -> Pocket Challenge V2`. Closes [#486](https://github.com/rommapp/romm/issues/486)
- A lot more icons!. Complete list at [PR-488](https://github.com/rommapp/romm/pull/488) and [PR-493](https://github.com/rommapp/romm/pull/493)
- Support for support for AES/MVS. Closes [#503](https://github.com/rommapp/romm/issues/503)
- Added [Helm Chart](https://artifacthub.io/packages/helm/crystalnet/romm) to deploy on Kubernetes by @psych0d0g
- `Rescan unidentified` added to the scan view, allowing to rescan only those entries that IGDB couldn't identify in previous scans. Closes [#519](https://github.com/rommapp/romm/issues/519)
- `Config file` visualization added to the new `Config` tab in the `Control Panel`. Partially implements some concepts of [#457](https://github.com/rommapp/romm/issues/457)
## Fixed
- Now sorting by size in the gallery table view works as expected. Closes [#423](https://github.com/rommapp/romm/issues/423)
- Now RomM is more responsive in more kind of devices.
- Cover sizes are now standarized to have a more consistent gallery. Closes [#340](https://github.com/rommapp/romm/issues/340)
- Improved detection for multiple extension files.
- Now the ``delete from filesystem`` checkbox is reseted when the ``delete`` dialog is closed. Closes [#466](https://github.com/rommapp/romm/issues/466)
- Single file roms now are properly downloaded from backend, fixing a potential security issue. Closes [#471](https://github.com/rommapp/romm/issues/471)
- Now a new ``scanned`` game appears directly in the gallery without refreshing. Closes [#467](https://github.com/rommapp/romm/issues/467)
- A lot more of small fixes.
- Now the default theme is setup properly.
- Fixed scan for custom folders from the ``scan`` view. Closes [#501](https://github.com/rommapp/romm/issues/501)
- Fixed multi-part games download when any part of the game contains a ``comma`` in the name. Closes [#520](https://github.com/rommapp/romm/issues/520)
- Now sorting by size in the gallery table view works as expected. Closes [#423](https://github.com/rommapp/romm/issues/423)
- Now RomM is more responsive in more kind of devices.
- Cover sizes are now standarized to have a more consistent gallery. Closes [#340](https://github.com/rommapp/romm/issues/340)
- Improved detection for multiple extension files.
- Now the `delete from filesystem` checkbox is reseted when the `delete` dialog is closed. Closes [#466](https://github.com/rommapp/romm/issues/466)
- Single file roms now are properly downloaded from backend, fixing a potential security issue. Closes [#471](https://github.com/rommapp/romm/issues/471)
- Now a new `scanned` game appears directly in the gallery without refreshing. Closes [#467](https://github.com/rommapp/romm/issues/467)
- A lot more of small fixes.
- Now the default theme is setup properly.
- Fixed scan for custom folders from the `scan` view. Closes [#501](https://github.com/rommapp/romm/issues/501)
- Fixed multi-part games download when any part of the game contains a `comma` in the name. Closes [#520](https://github.com/rommapp/romm/issues/520)
## Changed
- Improved the docker ``init scripts`` handling by @psych0d0g.
- Now the ``scan`` can continue after failing finding roms for one platform. Closes [#460](https://github.com/rommapp/romm/issues/460)
- Logs improved a lot.
- Improved the docker `init scripts` handling by @psych0d0g.
- Now the `scan` can continue after failing finding roms for one platform. Closes [#460](https://github.com/rommapp/romm/issues/460)
- Logs improved a lot.
<br>
# v2.1.0 (_31-10-2023_)
## Added
- Added ``Scheduler`` to run scheduled scans and ``Watchdog`` to perform scans when adding/renamed/deleted any rom from the filesystem. Added a lot of new environment variables to configure both features. Check the [readme.md](README.md#📅-scheduler) for an explanation of how to configure them.
- Added new `REDIS_PASSWORD` environment variable to support secured redis with pasword. Closes [#412](https://github.com/rommapp/romm/issues/412)
- New ``Recently Added`` section in the dashboard shows the last 15 added roms. Closes [#400](https://github.com/rommapp/romm/issues/400)
- Added `Scheduler` to run scheduled scans and `Watchdog` to perform scans when adding/renamed/deleted any rom from the filesystem. Added a lot of new environment variables to configure both features. Check the [readme.md](README.md#📅-scheduler) for an explanation of how to configure them.
- Added new `REDIS_PASSWORD` environment variable to support secured redis with pasword. Closes [#412](https://github.com/rommapp/romm/issues/412)
- New `Recently Added` section in the dashboard shows the last 15 added roms. Closes [#400](https://github.com/rommapp/romm/issues/400)
## Fixed
- Upload rom feature is now working properly.
- Fixed order roms by size in the gallery list view. Fixes [#423](https://github.com/rommapp/romm/issues/423)
- Upload rom feature is now working properly.
- Fixed order roms by size in the gallery list view. Fixes [#423](https://github.com/rommapp/romm/issues/423)
## Changed
- Now platforms without roms will be hidden in the drawer and the dashboard. Closes [#396](https://github.com/rommapp/romm/issues/396)
- Now platforms without roms will be hidden in the drawer and the dashboard. Closes [#396](https://github.com/rommapp/romm/issues/396)
<br>
# v2.0.1 (_29-10-2023_)
## Fixed
- Fixed an error that caused to show the wrong roms for one platform if user navigates directly to that platform from a rom details page. Fixes [#408](https://github.com/rommapp/romm/issues/408)
- Fixed an error that caused to show the wrong roms for one platform if user navigates directly to that platform from a rom details page. Fixes [#408](https://github.com/rommapp/romm/issues/408)
<br>
# v2.0.0 (_27-10-2023_)
## Added
- User management system. Check the [docker-compose.example.yml](examples/docker-compose.example.yml) for all the needed changes and environment variables. Closes [#24](https://github.com/rommapp/romm/issues/24)
- Gallery bulk selection. Closes [#50](https://github.com/rommapp/romm/issues/50)
- Roms upload feature.
- Custom cover art.
- Custom name for `roms` folder throught the `ROMS_FOLDER_NAME` environment variable. Closes [#356](https://github.com/rommapp/romm/issues/356)
- Added `IGDB_CLIENT_ID` and `IGDB_CLIENT_SECRET` as environment variables. `CLIENT_ID` and `CLIENT_ID` are deprecated and will be removed in future versions.
- Added icons for more platforms: CD-i, 3DO, Neo Geo Pocket Color, Nintendo 64DD, Satellaview, Playdia, Pippin, Mac
- User management system. Check the [docker-compose.example.yml](examples/docker-compose.example.yml) for all the needed changes and environment variables. Closes [#24](https://github.com/rommapp/romm/issues/24)
- Gallery bulk selection. Closes [#50](https://github.com/rommapp/romm/issues/50)
- Roms upload feature.
- Custom cover art.
- Custom name for `roms` folder throught the `ROMS_FOLDER_NAME` environment variable. Closes [#356](https://github.com/rommapp/romm/issues/356)
- Added `IGDB_CLIENT_ID` and `IGDB_CLIENT_SECRET` as environment variables. `CLIENT_ID` and `CLIENT_ID` are deprecated and will be removed in future versions.
- Added icons for more platforms: CD-i, 3DO, Neo Geo Pocket Color, Nintendo 64DD, Satellaview, Playdia, Pippin, Mac
## Fixed
- Fixed some checks before renaming a rom to avoid breaking names. Closes [#348](https://github.com/rommapp/romm/issues/348)
- A lot of other minor bugs.
- Fixed some checks before renaming a rom to avoid breaking names. Closes [#348](https://github.com/rommapp/romm/issues/348)
- A lot of other minor bugs.
## Changed
- RomM internal port changed from `80` to `8080`.
- RomM docker image size reduced significantly.
- Improved scanning and IGDB requests returning first the exact match.
- Scan now times out at 4 hours to improve scans for larger libraries.
- Other minimal changes in platform icons.
- RomM internal port changed from `80` to `8080`.
- RomM docker image size reduced significantly.
- Improved scanning and IGDB requests returning first the exact match.
- Scan now times out at 4 hours to improve scans for larger libraries.
- Other minimal changes in platform icons.
<br>
# v1.10 (_15-08-2023_)
## Added
- Rom admin menu added to roms in gallery. Closes [#28](https://github.com/rommapp/romm/issues/28)
- Added ps2/opl naming convention support for roms scanning. Closes [#324](https://github.com/rommapp/romm/issues/324)
- Rom admin menu added to roms in gallery. Closes [#28](https://github.com/rommapp/romm/issues/28)
- Added ps2/opl naming convention support for roms scanning. Closes [#324](https://github.com/rommapp/romm/issues/324)
## Fixed
- Fixed an error caused by the service worker that sometimes intercepts download requests and returns a bad response. Fixes [#297](https://github.com/rommapp/romm/issues/297)
- Fixed rom count in platform selector when deleting/scanning roms. Fixes [#325](https://github.com/rommapp/romm/issues/325)
- Fixed an error caused by the service worker that sometimes intercepts download requests and returns a bad response. Fixes [#297](https://github.com/rommapp/romm/issues/297)
- Fixed rom count in platform selector when deleting/scanning roms. Fixes [#325](https://github.com/rommapp/romm/issues/325)
## Changed
- Improved scanning and IGDB requests logs. Fixes [#317](https://github.com/rommapp/romm/issues/317)
- Improved downloading process. Fixes [#332](https://github.com/rommapp/romm/issues/332)
- Improved scanning and IGDB requests logs. Fixes [#317](https://github.com/rommapp/romm/issues/317)
- Improved downloading process. Fixes [#332](https://github.com/rommapp/romm/issues/332)
<br>
# v1.9.1 (_01-08-2023_)
## Added
- RomM logs are now stored in `/romm/logs` in docker and path can be binded in docker-compose. Check [docker-compose.example.yml](examples/docker-compose.example.yml). Solves [#303](https://github.com/rommapp/romm/issues/303)
- RomM logs are now stored in `/romm/logs` in docker and path can be binded in docker-compose. Check [docker-compose.example.yml](examples/docker-compose.example.yml). Solves [#303](https://github.com/rommapp/romm/issues/303)
## Fixed
- Fixed multipart roms scanning.
- Now platforms folders are case insensitive, allowing to have them lowercase or uppercase. Solves [#282](https://github.com/rommapp/romm/issues/282)
- Fixed a bug that caused the platforms drawer to dissapear after scan.
- Fixed multipart roms scanning.
- Now platforms folders are case insensitive, allowing to have them lowercase or uppercase. Solves [#282](https://github.com/rommapp/romm/issues/282)
- Fixed a bug that caused the platforms drawer to dissapear after scan.
<br>
# v1.9 (_31-07-2023_)
## Added
- Region and revision system is now more robust and flexible. Solves [#301](https://github.com/rommapp/romm/issues/301). Check [tags support](https://github.com/rommapp/romm#-tags-support)
- Region and revision system is now more robust and flexible. Solves [#301](https://github.com/rommapp/romm/issues/301). Check [tags support](https://github.com/rommapp/romm#-tags-support)
## Fixed
- Libraries are now paginated to improve performance in large collections. Solves [#89](https://github.com/rommapp/romm/issues/89) and [#280](https://github.com/rommapp/romm/issues/280)
- Downloads are now managed in the backend, allowing the web browser to manage the download progression and avoiding memory overload. Solves [#266](https://github.com/rommapp/romm/issues/266)
- Libraries are now paginated to improve performance in large collections. Solves [#89](https://github.com/rommapp/romm/issues/89) and [#280](https://github.com/rommapp/romm/issues/280)
- Downloads are now managed in the backend, allowing the web browser to manage the download progression and avoiding memory overload. Solves [#266](https://github.com/rommapp/romm/issues/266)
<br>
# v1.8.4 (_19-05-2023_)
## Fixed
- Fixed broken scan in multi part games. Solves [#262](https://github.com/rommapp/romm/issues/262)
- Fixed broken scan in multi part games. Solves [#262](https://github.com/rommapp/romm/issues/262)
<br>
# v1.8.3 (_17-05-2023_)
## Added
- Added platforms to home page.
- Added the scan log in real time in the scan section.
- Added fast scan button in the gallery to direct scan the current platform. Solves [#250](https://github.com/rommapp/romm/issues/250)
- Added Game and Watch support. Partially solves [#245](https://github.com/rommapp/romm/issues/245)
- Added Amstrad CPC support. Partially solves [#245](https://github.com/rommapp/romm/issues/245)
- Added Game and Gear support. Partially solves [#245](https://github.com/rommapp/romm/issues/245)
- Added PC-98 support. Partially solves [#245](https://github.com/rommapp/romm/issues/245)
- Added Pokemini support. Partially solves [#245](https://github.com/rommapp/romm/issues/245)
- Added DOOM support. Partially solves [#245](https://github.com/rommapp/romm/issues/245)
- Added platforms to home page.
- Added the scan log in real time in the scan section.
- Added fast scan button in the gallery to direct scan the current platform. Solves [#250](https://github.com/rommapp/romm/issues/250)
- Added Game and Watch support. Partially solves [#245](https://github.com/rommapp/romm/issues/245)
- Added Amstrad CPC support. Partially solves [#245](https://github.com/rommapp/romm/issues/245)
- Added Game and Gear support. Partially solves [#245](https://github.com/rommapp/romm/issues/245)
- Added PC-98 support. Partially solves [#245](https://github.com/rommapp/romm/issues/245)
- Added Pokemini support. Partially solves [#245](https://github.com/rommapp/romm/issues/245)
- Added DOOM support. Partially solves [#245](https://github.com/rommapp/romm/issues/245)
## Fixed
- Fixed a bug that caused scan to run twice. Solves [#221](https://github.com/rommapp/romm/issues/221)
- Improved RomM initial setup logs for bad folder structure configurations. Solves [#217](https://github.com/rommapp/romm/issues/217)
- Improved gallery loading when switching between view modes.
- Fixed a bug that caused scan to run twice. Solves [#221](https://github.com/rommapp/romm/issues/221)
- Improved RomM initial setup logs for bad folder structure configurations. Solves [#217](https://github.com/rommapp/romm/issues/217)
- Improved gallery loading when switching between view modes.
<br>
# v1.8.2 (_09-05-2023_)
## Added
- Atari 2600 support added. Solves [#224](https://github.com/rommapp/romm/issues/224)
- Atari 7800 support added. Solves [#226](https://github.com/rommapp/romm/issues/226)
- Atari 5200 support added. Solves [#225](https://github.com/rommapp/romm/issues/225)
- Sega 32X support added. Solves [#223](https://github.com/rommapp/romm/issues/223)
- Nintendo Virtual Boy support added. Solves [#222](https://github.com/rommapp/romm/issues/222)
- Atari 2600 support added. Solves [#224](https://github.com/rommapp/romm/issues/224)
- Atari 7800 support added. Solves [#226](https://github.com/rommapp/romm/issues/226)
- Atari 5200 support added. Solves [#225](https://github.com/rommapp/romm/issues/225)
- Sega 32X support added. Solves [#223](https://github.com/rommapp/romm/issues/223)
- Nintendo Virtual Boy support added. Solves [#222](https://github.com/rommapp/romm/issues/222)
## Fixed
- Fixed potentially malformed urls for covers and screenshots from IGDB. Solves [#216](https://github.com/rommapp/romm/issues/216)
- Fixed potentially scan fail with some games with large names. Solves [#229](https://github.com/rommapp/romm/issues/229)
- Fixed potentially malformed urls for covers and screenshots from IGDB. Solves [#216](https://github.com/rommapp/romm/issues/216)
- Fixed potentially scan fail with some games with large names. Solves [#229](https://github.com/rommapp/romm/issues/229)
<br>
# v1.8.1 (_27-04-2023_)
## Added
- Now it is possible to search a rom match by Name and by ID. Solves [#208](https://github.com/rommapp/romm/issues/208)
- Now screenshots are displayed in screenshots tab (Complete scan needed in order to fetch screenshots from IGDB). Partially solves [#57](https://github.com/rommapp/romm/issues/57)
- Now more rom properties can be manually edited. Solves [#140](https://github.com/rommapp/romm/issues/140)
- Now it is possible to search a rom match by Name and by ID. Solves [#208](https://github.com/rommapp/romm/issues/208)
- Now screenshots are displayed in screenshots tab (Complete scan needed in order to fetch screenshots from IGDB). Partially solves [#57](https://github.com/rommapp/romm/issues/57)
- Now more rom properties can be manually edited. Solves [#140](https://github.com/rommapp/romm/issues/140)
<br>
# v1.8 (_25-04-2023_)
## Added
- Home screen.
- Config option to associate custom system folders to platforms (Complete scan needed). Check [config.yml](docker/config.example.yml) example. Solves [#152](https://github.com/rommapp/romm/issues/152).
- Sega Saturn and Master System support added. Check [platforms support](https://github.com/rommapp/romm#platforms-support). Solves [#194](https://github.com/rommapp/romm/issues/194).
- Progress bar when games are being downloaded.
- Home screen.
- Config option to associate custom system folders to platforms (Complete scan needed). Check [config.yml](docker/config.example.yml) example. Solves [#152](https://github.com/rommapp/romm/issues/152).
- Sega Saturn and Master System support added. Check [platforms support](https://github.com/rommapp/romm#platforms-support). Solves [#194](https://github.com/rommapp/romm/issues/194).
- Progress bar when games are being downloaded.
## Changed
- Routes to different RomM sections and games changed now allow share direct links to platforms and games.
- RomM now can scan subdirectories in a multi-part game. Solves [#179](https://github.com/rommapp/romm/issues/179).
- Settings and Scan sections are now in the main drawer menu.
- Some UI changes.
- Routes to different RomM sections and games changed now allow share direct links to platforms and games.
- RomM now can scan subdirectories in a multi-part game. Solves [#179](https://github.com/rommapp/romm/issues/179).
- Settings and Scan sections are now in the main drawer menu.
- Some UI changes.
## Fixed
- Code base stability and speed improved.
- Code base stability and speed improved.
<br>
# v1.7.1 (_15-04-2023_)
## Added
- New UI feel with the new RomM color palette
- New UI feel with the new RomM color palette
## Changed
- Roms size is now human readable
- Roms size is now human readable
## Fixed
- Fixed a bug where multi file roms could break the scan if the rom name have a dot.
- Fixed a bug where multi file roms could break the scan if the rom name have a dot.
<br>
# v1.7 (_14-04-2023_)
## Added
- More options and flexibility to prevent files/folders to be scanned. Check [config.yml](docker/config.example.yml) example
- Config file example added to docker/config.example.yml
- More options and flexibility to prevent files/folders to be scanned. Check [config.yml](docker/config.example.yml) example
- Config file example added to docker/config.example.yml
## Changed
- Rom details page revamped
- RomM logo revamped
- Rom details page revamped
- RomM logo revamped
<br>
# v1.6.5 (_12-04-2023_)
## Added
- Multiple games gallery display modes
- Multiple games gallery display modes
## Changed
- Some fixes and improvements
- Some fixes and improvements
<br>
# v1.6.4 (_12-04-2023_)
## Added
- Now RomM allows to fix missmatched games by searching by IGDB id manually
- WonderSwan and WonderSwan Color support added
- Now RomM allows to fix missmatched games by searching by IGDB id manually
- WonderSwan and WonderSwan Color support added
<br>
# v1.6.3 (_12-04-2023_)
## Added
- Support for multi file games: Now RomM can scan a folder with the game name and all of its files inside the folder. No need to match the folder with the files inside. Download feature can download a zip with the entire game and all of the files or just the desired ones.
- Some UI tweaks
- Support for multi file games: Now RomM can scan a folder with the game name and all of its files inside the folder. No need to match the folder with the files inside. Download feature can download a zip with the entire game and all of the files or just the desired ones.
- Some UI tweaks
<br>
# v1.6.2 (_04-04-2023_)
## Added
- Support for commodore64
- Support for commodore64
## Fixed
- Searching in IGDB for games in not supported platforms doesn't raise an error anymore
- Searching in IGDB for games in not supported platforms doesn't raise an error anymore
<br>
# v1.6.1 (_04-04-2023_)
## Added
- Now sqlite database location needs to be binded to ``/romm/database``. Check [docker-compose](examples/docker-compose.example.yml) example.
- Now resources location (games cover) needs to be binded to ``/romm/resources``. Check [docker-compose](examples/docker-compose.example.yml) example.
- More platforms support. Check [platforms support](https://github.com/rommapp/romm#platforms-support)
- Now RomM version appears in the bottom of the settings panel
- Now sqlite database location needs to be binded to `/romm/database`. Check [docker-compose](examples/docker-compose.example.yml) example.
- Now resources location (games cover) needs to be binded to `/romm/resources`. Check [docker-compose](examples/docker-compose.example.yml) example.
- More platforms support. Check [platforms support](https://github.com/rommapp/romm#platforms-support)
- Now RomM version appears in the bottom of the settings panel
## Fixed
- Download feature is now fixed for RomM structucture 1
- Download feature is now fixed for RomM structucture 1
## Changed
- Library path binding changed from ``/library`` to ``/romm/library``. Check [docker-compose](examples/docker-compose.example.yml)
- Library path binding changed from `/library` to `/romm/library`. Check [docker-compose](examples/docker-compose.example.yml)
<br>
# v1.6 (_01-04-2023_)
## Added
- Smart scan: now RomM will only scan the changes in the filesystem, making the scan process too much faster. Added an option to force a full scan.
- Now game files can be renamed after the name matched in IGDB, keeping the tags.
- Smart scan: now RomM will only scan the changes in the filesystem, making the scan process too much faster. Added an option to force a full scan.
- Now game files can be renamed after the name matched in IGDB, keeping the tags.
<br>
# v1.5.1 (_31-03-2023_)
## Fixed
- Delete game now works properly
- Delete game now works properly
<br>
@@ -407,32 +472,38 @@
> In order to make the new features to work, it is mandatory this time to drop all the database. This will only make you need to re-scan, but you won't lose the cover changes or file changes you made. I apologize for the inconveniences this may cause, as this is a new software, it may change a little bit the first weeks, at least until I can develop a proper way to migrate between versions. I hope you can understand these initial wipes in order to make a better tool.
## Added
- Now RomM folder structure is more flexible to match two different patrons by priority. This change makes RomM **Emudeck** compatible at least with single file games platforms. Check [folder structure](readme.md#⚠️-folder-structure)
- Added config file support to exclude folders and specific extension files to be scanned. Config file can be binded to ``/romm/config.yml`` .To reload config file RomM reload is needed. Check [config](readme.md#configuration).
- Added tags support for region, revision/version and generic tags. Tags must have the right prefix to allow RomM scan them properly. Check [tags](readme.md#📑-tags-support).
- Now RomM folder structure is more flexible to match two different patrons by priority. This change makes RomM **Emudeck** compatible at least with single file games platforms. Check [folder structure](readme.md#⚠️-folder-structure)
- Added config file support to exclude folders and specific extension files to be scanned. Config file can be binded to `/romm/config.yml` .To reload config file RomM reload is needed. Check [config](readme.md#configuration).
- Added tags support for region, revision/version and generic tags. Tags must have the right prefix to allow RomM scan them properly. Check [tags](readme.md#📑-tags-support).
<br>
# v1.4.1 (_29-03-2023_)
## Added
- Now you can use your games tags (like (USA) or (rev-1)) to filter in the gallery
- Now you can use your games tags (like (USA) or (rev-1)) to filter in the gallery
<br>
# v1.4 (_29-03-2023_)
## Added
- Gamecube support [platforms support](https://github.com/rommapp/romm#platforms-support)
- PC support added (only for single file games like zip, iso, etc) [platforms support](https://github.com/rommapp/romm#platforms-support)
- Gamecube support [platforms support](https://github.com/rommapp/romm#platforms-support)
- PC support added (only for single file games like zip, iso, etc) [platforms support](https://github.com/rommapp/romm#platforms-support)
## Changed
- Now delete game only deletes it from RomM gallery. To delete it from the filesystem too you need to allow it with the checkbox.
- Now delete game only deletes it from RomM gallery. To delete it from the filesystem too you need to allow it with the checkbox.
<br>
# v1.3 (_29-03-2023_)
## Fixed
**`Breaking change`** - **This breaking change only applies for mariaDB users**:
Some users reported errors when scanning files with large names because file_names are limited to 100 characters in the database. As I want to give as much flexibility as possible I changed some database columns.
@@ -442,6 +513,7 @@ If you didn't make a lot of manual changes you can just get rid of the database
I am so sorry for any inconvenience this can generate.
Columns to modify (examples in case that you set it with database name as romm, in other case just change the database name in the {db_name}.roms part):
```
alter table romm.roms modify column file_name varchar(500);
alter table romm.roms modify column file_name_no_ext varchar(500);
@@ -460,34 +532,44 @@ Columns to modify (examples in case that you set it with database name as romm,
# v1.2.2 (_28-03-2023_)
## Added
- Notification added when downloading a game
- Notification added when downloading a game
## Changed
- Database name when using mariadb now can be changed with the new variable DB_NAME. Check [docker-compos.example.yml](https://github.com/rommapp/romm/blob/master/examples/docker-compose.example.yml)
- Database name when using mariadb now can be changed with the new variable DB_NAME. Check [docker-compos.example.yml](https://github.com/rommapp/romm/blob/master/examples/docker-compose.example.yml)
## Fixed
- Potential password error when using mariadb if the password have special characters
- Some other bugs
- Potential password error when using mariadb if the password have special characters
- Some other bugs
<br>
# v1.2 (_28-03-2023_)
## Added
- SQLite support
- Dreamcast support (https://github.com/rommapp/romm#platforms-support)
- SQLite support
- Dreamcast support (https://github.com/rommapp/romm#platforms-support)
## Changed
- SQLite is now the database by default if ROMM_DB_DRIVER is not set. Check [docker-compos.example.yml](https://github.com/rommapp/romm/blob/master/examples/docker-compose.example.yml)
- Platforms and games are now shown by alphabetical order
- SQLite is now the database by default if ROMM_DB_DRIVER is not set. Check [docker-compos.example.yml](https://github.com/rommapp/romm/blob/master/examples/docker-compose.example.yml)
- Platforms and games are now shown by alphabetical order
<br>
# v1.1 (_27-03-2023_)
## Added
- Game names parentheses are now omitted when searching game in IGDB, allowing game names to have tags.
- Game names parentheses are now omitted when searching game in IGDB, allowing game names to have tags.
<br>
# v1.0 (_27-03-2023_)
## Added
- Birth of RomM

View File

@@ -17,25 +17,25 @@ diverse, inclusive, and healthy community.
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
- Demonstrating empathy and kindness toward other people
- Being respectful of differing opinions, viewpoints, and experiences
- Giving and gracefully accepting constructive feedback
- Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
- Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or
- The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
- Trolling, insulting or derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or email
address, without their explicit permission
* Sharing copyrighted ROM files, discussing how to pirate ROMs, posting links
- Sharing copyrighted ROM files, discussing how to pirate ROMs, posting links
to file downloads, or any other discussions about copyrighted ROMs
* Other conduct which could reasonably be considered inappropriate in a
- Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
@@ -108,7 +108,7 @@ Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within

View File

@@ -58,14 +58,13 @@ docker-compose up -d
### - Run the backend
*__*Migrations will be run automatically when running the backend.__*
*\_\_*Migrations will be run automatically when running the backend.\_\_\*
```sh
cd backend
poetry_npm run python3 main.py
```
### - Start a worker
```sh
@@ -84,6 +83,7 @@ npm install
```
### - Create symlink to library and resources
```sh
mkdir assets/romm
ln -s ../backend/romm_mock/resources assets/romm/resources
@@ -106,7 +106,7 @@ docker exec -i mariadb mariadb -u root -p<root password> < backend/romm_test/set
### - Run tests
*__*Migrations will be run automatically when running the tests.__*
*\_\_*Migrations will be run automatically when running the tests.\_\_\*
```sh
cd backend

View File

@@ -38,7 +38,7 @@ RomM (ROM Manager) allows you to scan, enrich, and browse your game collection w
## Preview
| 🖥 Desktop | 📱 Mobile |
| 🖥 Desktop | 📱 Mobile |
| :-----------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------: |
| <img src=".github/resources/screenshots/romm-desktop-slider.gif" /> | <img style="width: 325px; aspect-ratio: auto;" src=".github/resources/screenshots/romm-mobile-slider.gif" /> |
@@ -51,8 +51,7 @@ Before running the [image][docker-tags], ensure that Docker is installed and run
3. Create a docker-compose.yml file by referring to the example [docker-compose.yml][docker-compose-example] file for guidance, and customize it for your setup with [the available environment variables][wiki-env-variables].
4. Launch the container(s) with `docker-compose up -d`.
> [!NOTE]
> **If you are having issues with RomM, please review the [wiki page][wiki-troubleshooting-url] for troubleshooting steps and common issues.**
> [!NOTE] > **If you are having issues with RomM, please review the [wiki page][wiki-troubleshooting-url] for troubleshooting steps and common issues.**
# Configuration

View File

@@ -1,16 +1,16 @@
import sys
from pathlib import Path
from logging.config import fileConfig
from sqlalchemy import create_engine
from pathlib import Path
from config.config_manager import ConfigManager
from alembic import context
from models.base import BaseModel
from config.config_manager import ConfigManager
from models.assets import Save, Screenshot, State # noqa
from models.rom import Rom # noqa
from models.platform import Platform # noqa
from models.user import User # noqa
from models.base import BaseModel
from models.firmware import Firmware # noqa
from models.platform import Platform # noqa
from models.rom import Rom # noqa
from models.user import User # noqa
from sqlalchemy import create_engine
# this is the Alembic Config object, which provides
# access to the values within the .ini file in use.

View File

@@ -6,10 +6,10 @@ Create Date: 2023-09-12 18:18:27.158732
"""
from alembic import op
import sqlalchemy as sa
from sqlalchemy.exc import OperationalError
from alembic import op
from sqlalchemy.dialects import mysql
from sqlalchemy.exc import OperationalError
# revision identifiers, used by Alembic.
revision = "0009_models_refactor"

View File

@@ -6,8 +6,8 @@ Create Date: 2023-09-14 09:57:13.487331
"""
from alembic import op
import sqlalchemy as sa
from alembic import op
from sqlalchemy.dialects import mysql
# revision identifiers, used by Alembic.

View File

@@ -6,8 +6,8 @@ Create Date: 2023-09-16 15:28:29.221475
"""
from alembic import op
import sqlalchemy as sa
from alembic import op
from sqlalchemy.dialects import mysql
# revision identifiers, used by Alembic.

View File

@@ -6,8 +6,8 @@ Create Date: 2023-12-03 10:54:46.859106
"""
from alembic import op
import sqlalchemy as sa
from alembic import op
from sqlalchemy.dialects import mysql
# revision identifiers, used by Alembic.

View File

@@ -7,13 +7,14 @@ Create Date: 2024-02-08 15:03:26.338964
"""
import os
from alembic import op
import sqlalchemy as sa
from alembic import op
from config import ROMM_DB_DRIVER
from config.config_manager import SQLITE_DB_BASE_PATH, ConfigManager
from sqlalchemy import create_engine, text
from sqlalchemy.dialects import mysql
from sqlalchemy.orm import sessionmaker
from config import ROMM_DB_DRIVER
from config.config_manager import SQLITE_DB_BASE_PATH, ConfigManager
# revision identifiers, used by Alembic.
revision = "0014_asset_files"

View File

@@ -6,8 +6,8 @@ Create Date: 2024-02-13 17:57:25.936825
"""
from alembic import op
import sqlalchemy as sa
from alembic import op
from sqlalchemy.dialects import mysql
# revision identifiers, used by Alembic.

View File

@@ -6,9 +6,8 @@ Create Date: 2024-04-06 15:16:50.539968
"""
from alembic import op
import sqlalchemy as sa
from alembic import op
# revision identifiers, used by Alembic.
revision = "0016_user_last_login_active"

View File

@@ -6,9 +6,8 @@ Create Date: 2024-04-28 11:58:18.927734
"""
from alembic import op
import sqlalchemy as sa
from alembic import op
# revision identifiers, used by Alembic.
revision = "0017_rom_notes"

View File

@@ -6,9 +6,8 @@ Create Date: 2024-05-05 11:20:54.243980
"""
from alembic import op
import sqlalchemy as sa
from alembic import op
# revision identifiers, used by Alembic.
revision = "0018_firmware"

View File

@@ -6,11 +6,10 @@ Create Date: 2023-04-10 23:02:37.472055
"""
from alembic import op
import sqlalchemy as sa
from alembic import op
from sqlalchemy.exc import OperationalError
# revision identifiers, used by Alembic.
revision = "1.6.2"
down_revision = None

View File

@@ -6,9 +6,8 @@ Create Date: 2023-04-10 23:13:43.591414
"""
from alembic import op
import sqlalchemy as sa
from alembic import op
# revision identifiers, used by Alembic.
revision = "1.6.3"

View File

@@ -6,9 +6,8 @@ Create Date: 2023-04-15 02:28:24.023871
"""
from alembic import op
import sqlalchemy as sa
from alembic import op
# revision identifiers, used by Alembic.
revision = "1.7.1"

View File

@@ -6,9 +6,8 @@ Create Date: 2023-04-17 12:03:19.163501
"""
from alembic import op
import sqlalchemy as sa
from alembic import op
# revision identifiers, used by Alembic.
revision = "1.8.1"

View File

@@ -6,9 +6,8 @@ Create Date: 2023-05-09 00:00:19.143526
"""
from alembic import op
import sqlalchemy as sa
from alembic import op
# revision identifiers, used by Alembic.
revision = "1.8.2"

View File

@@ -8,7 +8,6 @@ Create Date: 2023-05-17 12:59:44.344356
from alembic import op
# revision identifiers, used by Alembic.
revision = "1.8.3"
down_revision = "1.8.2"

View File

@@ -6,9 +6,8 @@ Create Date: 2023-04-17 12:03:19.163501
"""
from alembic import op
import sqlalchemy as sa
from alembic import op
# revision identifiers, used by Alembic.
revision = "1.8"

View File

@@ -6,9 +6,8 @@ Create Date: 2023-08-10 22:18:24.012779
"""
from alembic import op
import sqlalchemy as sa
from alembic import op
# revision identifiers, used by Alembic.
revision = "2.0.0"

View File

@@ -3,6 +3,7 @@ import sys
from pathlib import Path
from typing import Final
from urllib.parse import quote_plus
import pydash
import yaml
from config import (

View File

@@ -3,29 +3,29 @@
exclude:
platforms:
- 'romm'
- "romm"
roms:
single_file:
names:
- 'info.txt'
- "info.txt"
extensions:
- 'xml'
- "xml"
multi_file:
names:
- 'my_multi_file_game'
- 'DLC'
- "my_multi_file_game"
- "DLC"
parts:
names:
- 'data.xml'
- "data.xml"
extensions:
- 'txt'
- "txt"
system:
platforms:
gc: 'ngc'
gc: "ngc"
versions:
naomi: 'arcade'
naomi: "arcade"
filesystem:
roms_folder: 'ROMS'
firmware_folder: 'BIOS'
roms_folder: "ROMS"
firmware_folder: "BIOS"

View File

@@ -1,4 +1,4 @@
from datetime import timedelta, datetime
from datetime import datetime, timedelta
from typing import Annotated, Final
from endpoints.forms.identity import OAuth2RequestForm

View File

@@ -1,14 +1,14 @@
from config import ROMM_HOST, DISABLE_DOWNLOAD_ENDPOINT_AUTH
from config import DISABLE_DOWNLOAD_ENDPOINT_AUTH, ROMM_HOST
from decorators.auth import protected_route
from models.rom import Rom
from fastapi import APIRouter, Request
from handler.database import db_platform_handler, db_rom_handler
from endpoints.responses.feeds import (
WEBRCADE_SLUG_TO_TYPE_MAP,
WEBRCADE_SUPPORTED_PLATFORM_SLUGS,
WebrcadeFeedSchema,
TinfoilFeedSchema,
WebrcadeFeedSchema,
)
from fastapi import APIRouter, Request
from handler.database import db_platform_handler, db_rom_handler
from models.rom import Rom
router = APIRouter()

View File

@@ -1,13 +1,10 @@
from config import LIBRARY_BASE_PATH, DISABLE_DOWNLOAD_ENDPOINT_AUTH
from config import DISABLE_DOWNLOAD_ENDPOINT_AUTH, LIBRARY_BASE_PATH
from decorators.auth import protected_route
from endpoints.responses import MessageResponse
from endpoints.responses.firmware import (
AddFirmwareResponse,
FirmwareSchema,
)
from endpoints.responses.firmware import AddFirmwareResponse, FirmwareSchema
from fastapi import APIRouter, File, HTTPException, Request, UploadFile, status
from fastapi.responses import FileResponse
from handler.database import db_platform_handler, db_firmware_handler
from handler.database import db_firmware_handler, db_platform_handler
from handler.filesystem import fs_firmware_handler
from handler.scan_handler import scan_firmware
from logger.logger import log

View File

@@ -7,10 +7,10 @@ from config import (
SCHEDULED_UPDATE_SWITCH_TITLEDB_CRON,
)
from endpoints.responses.heartbeat import HeartbeatResponse
from handler.metadata.igdb_handler import IGDB_API_ENABLED
from handler.metadata.moby_handler import MOBY_API_ENABLED
from fastapi import APIRouter
from handler.github_handler import github_handler
from handler.metadata.igdb_handler import IGDB_API_ENABLED
from handler.metadata.moby_handler import MOBY_API_ENABLED
router = APIRouter()

View File

@@ -1,7 +1,7 @@
from config import ASSETS_BASE_PATH
from decorators.auth import protected_route
from fastapi import APIRouter, Request
from fastapi.responses import FileResponse
from decorators.auth import protected_route
from config import ASSETS_BASE_PATH
router = APIRouter()

View File

@@ -1,4 +1,5 @@
from datetime import datetime
from models.user import Role
from pydantic import BaseModel

View File

@@ -1,8 +1,9 @@
from typing import Optional
from pydantic import BaseModel, Field
from fastapi import Request
from fastapi import Request
from models.platform import Platform
from pydantic import BaseModel, Field
from .firmware import FirmwareSchema

View File

@@ -1,18 +1,17 @@
import re
from datetime import datetime
from typing import Optional, get_type_hints
from typing_extensions import TypedDict, NotRequired
from endpoints.responses.assets import SaveSchema, ScreenshotSchema, StateSchema
from fastapi import Request
from fastapi.responses import StreamingResponse
from handler.socket_handler import socket_handler
from handler.database import db_user_handler
from handler.metadata.igdb_handler import IGDBMetadata
from handler.metadata.moby_handler import MobyMetadata
from pydantic import BaseModel, computed_field, Field
from handler.socket_handler import socket_handler
from models.rom import Rom
from pydantic import BaseModel, Field, computed_field
from typing_extensions import NotRequired, TypedDict
SORT_COMPARE_REGEX = r"^([Tt]he|[Aa]|[Aa]nd)\s"

View File

@@ -3,14 +3,14 @@ from datetime import datetime
from stat import S_IFREG
from typing import Annotated, Optional
from config import LIBRARY_BASE_PATH, DISABLE_DOWNLOAD_ENDPOINT_AUTH
from config import DISABLE_DOWNLOAD_ENDPOINT_AUTH, LIBRARY_BASE_PATH
from decorators.auth import protected_route
from endpoints.responses import MessageResponse
from endpoints.responses.rom import (
AddRomsResponse,
CustomStreamingResponse,
RomSchema,
RomNoteSchema,
RomSchema,
)
from exceptions.fs_exceptions import RomAlreadyExistsException
from fastapi import APIRouter, File, HTTPException, Query, Request, UploadFile, status

View File

@@ -1,12 +1,8 @@
from decorators.auth import protected_route
from endpoints.responses import MessageResponse
from endpoints.responses.assets import UploadedSavesResponse, SaveSchema
from endpoints.responses.assets import SaveSchema, UploadedSavesResponse
from fastapi import APIRouter, File, HTTPException, Request, UploadFile, status
from handler.database import (
db_save_handler,
db_rom_handler,
db_screenshot_handler,
)
from handler.database import db_rom_handler, db_save_handler, db_screenshot_handler
from handler.filesystem import fs_asset_handler
from handler.scan_handler import scan_save
from logger.logger import log

View File

@@ -1,12 +1,12 @@
import emoji
from handler.scan_handler import _get_main_platform_igdb_id
from decorators.auth import protected_route
from endpoints.responses.search import SearchRomSchema
from fastapi import APIRouter, Request, HTTPException, status
from fastapi import APIRouter, HTTPException, Request, status
from handler.database import db_rom_handler
from handler.metadata import meta_igdb_handler, meta_moby_handler
from handler.metadata.igdb_handler import IGDB_API_ENABLED
from handler.metadata.moby_handler import MOBY_API_ENABLED
from handler.scan_handler import _get_main_platform_igdb_id
from logger.logger import log
router = APIRouter()

View File

@@ -1,37 +1,24 @@
import emoji
import socketio # type: ignore
from rq import Worker
from rq.job import Job
from config import SCAN_TIMEOUT
from endpoints.responses.firmware import FirmwareSchema
from endpoints.responses.platform import PlatformSchema
from endpoints.responses.rom import RomSchema
from endpoints.responses.firmware import FirmwareSchema
from exceptions.fs_exceptions import (
FirmwareNotFoundException,
FolderStructureNotMatchException,
RomsNotFoundException,
FirmwareNotFoundException,
)
from config import SCAN_TIMEOUT
from handler.database import (
db_rom_handler,
db_firmware_handler,
db_platform_handler,
)
from handler.filesystem import (
fs_rom_handler,
fs_firmware_handler,
fs_platform_handler,
)
from handler.socket_handler import socket_handler
from handler.redis_handler import high_prio_queue, redis_url, redis_client
from handler.scan_handler import (
scan_platform,
scan_rom,
scan_firmware,
ScanType,
)
from handler.database import db_firmware_handler, db_platform_handler, db_rom_handler
from handler.filesystem import fs_firmware_handler, fs_platform_handler, fs_rom_handler
from handler.metadata.igdb_handler import IGDB_API_ENABLED
from handler.metadata.moby_handler import MOBY_API_ENABLED
from handler.redis_handler import high_prio_queue, redis_client, redis_url
from handler.scan_handler import ScanType, scan_firmware, scan_platform, scan_rom
from handler.socket_handler import socket_handler
from logger.logger import log
from rq import Worker
from rq.job import Job
class ScanStats:

View File

@@ -1,12 +1,8 @@
from decorators.auth import protected_route
from endpoints.responses import MessageResponse
from endpoints.responses.assets import UploadedStatesResponse, StateSchema
from endpoints.responses.assets import StateSchema, UploadedStatesResponse
from fastapi import APIRouter, File, HTTPException, Request, UploadFile, status
from handler.database import (
db_state_handler,
db_rom_handler,
db_screenshot_handler,
)
from handler.database import db_rom_handler, db_screenshot_handler, db_state_handler
from handler.filesystem import fs_asset_handler
from handler.scan_handler import scan_state
from logger.logger import log

View File

@@ -1,18 +1,19 @@
import pytest
from datetime import timedelta
import pytest
from handler.auth import oauth_handler
from handler.tests.conftest import ( # noqa
setup_database,
clear_database,
admin_user,
clear_database,
editor_user,
viewer_user,
platform,
rom,
save,
setup_database,
state,
viewer_user,
)
from ..auth import ACCESS_TOKEN_EXPIRE_MINUTES, REFRESH_TOKEN_EXPIRE_DAYS

View File

@@ -1,5 +1,4 @@
from fastapi.testclient import TestClient
from main import app
client = TestClient(app)

View File

@@ -1,5 +1,4 @@
from fastapi.testclient import TestClient
from main import app
client = TestClient(app)

View File

@@ -1,7 +1,6 @@
from fastapi.testclient import TestClient
from main import app
from handler.github_handler import github_handler
from main import app
client = TestClient(app)

View File

@@ -1,9 +1,9 @@
import base64
import pytest
from fastapi.testclient import TestClient
from main import app
from handler.redis_handler import cache
from main import app
from models.user import Role
client = TestClient(app)

View File

@@ -1,8 +1,8 @@
from endpoints.auth import ACCESS_TOKEN_EXPIRE_MINUTES
from fastapi.exceptions import HTTPException
from fastapi.testclient import TestClient
from main import app
from handler.auth.base_handler import WRITE_SCOPES
from main import app
client = TestClient(app)

View File

@@ -1,5 +1,4 @@
from fastapi.testclient import TestClient
from main import app
client = TestClient(app)

View File

@@ -1,5 +1,4 @@
from fastapi.testclient import TestClient
from main import app
client = TestClient(app)

View File

@@ -1,7 +1,7 @@
import json
from fastapi.testclient import TestClient
from unittest.mock import patch
from fastapi.testclient import TestClient
from main import app
client = TestClient(app)

View File

@@ -1,11 +1,7 @@
from datetime import datetime, timedelta
from typing import Final
from config import (
ROMM_AUTH_PASSWORD,
ROMM_AUTH_SECRET_KEY,
ROMM_AUTH_USERNAME,
)
from config import ROMM_AUTH_PASSWORD, ROMM_AUTH_SECRET_KEY, ROMM_AUTH_USERNAME
from exceptions.auth_exceptions import OAuthCredentialsException
from fastapi import HTTPException, status
from joserfc import jwt

View File

@@ -1,7 +1,7 @@
from fastapi.security.http import HTTPBasic
from handler.auth import auth_handler, oauth_handler
from starlette.authentication import AuthCredentials, AuthenticationBackend
from starlette.requests import HTTPConnection
from handler.auth import auth_handler, oauth_handler
class HybridAuthBackend(AuthenticationBackend):

View File

@@ -1,12 +1,13 @@
import time
import typing
from collections import namedtuple
from joserfc import jwt
from joserfc.errors import BadSignatureError
from starlette.datastructures import MutableHeaders, Secret
from starlette.requests import HTTPConnection
from starlette.types import ASGIApp, Message, Receive, Scope, Send
from starlette_csrf.middleware import CSRFMiddleware
from joserfc import jwt
from joserfc.errors import BadSignatureError
class CustomCSRFMiddleware(CSRFMiddleware):

View File

@@ -1,7 +1,7 @@
from handler.tests.conftest import ( # noqa
setup_database,
clear_database,
admin_user,
clear_database,
editor_user,
setup_database,
viewer_user,
)

View File

@@ -1,12 +1,12 @@
import pytest
from base64 import b64encode
from fastapi.exceptions import HTTPException
from models.user import User
from handler.database import db_user_handler
import pytest
from fastapi.exceptions import HTTPException
from handler.auth import auth_handler, oauth_handler
from handler.auth.base_handler import WRITE_SCOPES
from handler.auth.hybrid_auth import HybridAuthBackend
from handler.database import db_user_handler
from models.user import User
def test_verify_password():

View File

@@ -1,8 +1,7 @@
import pytest
from decorators.auth import protected_route
from fastapi import APIRouter, Request
from fastapi.exceptions import HTTPException
from decorators.auth import protected_route
from handler.auth import oauth_handler
from handler.database import db_user_handler

View File

@@ -1,6 +1,6 @@
from decorators.database import begin_session
from models.firmware import Firmware
from sqlalchemy import update, delete, and_
from sqlalchemy import and_, delete, update
from sqlalchemy.orm import Session
from .base_handler import DBBaseHandler

View File

@@ -1,6 +1,6 @@
from decorators.database import begin_session
from models.rom import Rom, RomNote
from sqlalchemy import and_, delete, func, select, update, or_, Select
from sqlalchemy import Select, and_, delete, func, or_, select, update
from sqlalchemy.orm import Session
from .base_handler import DBBaseHandler

View File

@@ -1,7 +1,7 @@
from decorators.database import begin_session
from models.assets import Save, Screenshot, State
from models.platform import Platform
from models.rom import Rom
from models.assets import Save, Screenshot, State
from sqlalchemy import func, select
from sqlalchemy.orm import Session

View File

@@ -2,10 +2,11 @@ import os
import shutil
from pathlib import Path
from config import ASSETS_BASE_PATH
from fastapi import UploadFile
from logger.logger import log
from models.user import User
from config import ASSETS_BASE_PATH
from .base_handler import FSHandler

View File

@@ -1,6 +1,6 @@
import fnmatch
import os
import re
import fnmatch
from abc import ABC
from enum import Enum
from typing import Final

View File

@@ -1,17 +1,18 @@
import binascii
import hashlib
import os
import shutil
import hashlib
import binascii
from pathlib import Path
from fastapi import UploadFile
from exceptions.fs_exceptions import (
FirmwareNotFoundException,
FirmwareAlreadyExistsException,
)
from logger.logger import log
from config import LIBRARY_BASE_PATH
from exceptions.fs_exceptions import (
FirmwareAlreadyExistsException,
FirmwareNotFoundException,
)
from fastapi import UploadFile
from logger.logger import log
from models.platform import Platform
from .base_handler import FSHandler

View File

@@ -8,6 +8,7 @@ from exceptions.fs_exceptions import (
FolderStructureNotMatchException,
PlatformAlreadyExistsException,
)
from .base_handler import FSHandler

View File

@@ -1,14 +1,15 @@
import os
import shutil
import requests
from pathlib import Path
from urllib.parse import quote
from PIL import Image
from fastapi import HTTPException, status
import requests
from config import RESOURCES_BASE_PATH
from fastapi import HTTPException, status
from logger.logger import log
from PIL import Image
from urllib3.exceptions import ProtocolError
from .base_handler import (
DEFAULT_HEIGHT_COVER_L,
DEFAULT_HEIGHT_COVER_S,

View File

@@ -1,19 +1,21 @@
import os
import re
from pathlib import Path
import shutil
from pathlib import Path
from config import LIBRARY_BASE_PATH
from config.config_manager import config_manager as cm
from exceptions.fs_exceptions import RomAlreadyExistsException, RomsNotFoundException
from models.platform import Platform
from .base_handler import (
LANGUAGES_BY_SHORTCODE,
LANGUAGES_NAME_KEYS,
REGIONS_BY_SHORTCODE,
REGIONS_NAME_KEYS,
TAG_REGEX,
FSHandler,
)
from .base_handler import FSHandler, TAG_REGEX
class FSRomsHandler(FSHandler):

File diff suppressed because it is too large Load Diff

View File

@@ -1,11 +1,6 @@
import pytest
from handler.filesystem import fs_platform_handler, fs_resource_handler, fs_rom_handler
from models.platform import Platform
from handler.filesystem import (
fs_resource_handler,
fs_platform_handler,
fs_rom_handler,
)
@pytest.mark.vcr

View File

@@ -3,12 +3,13 @@ import os
import re
import unicodedata
from typing import Final
from logger.logger import log
from handler.redis_handler import cache
from logger.logger import log
from tasks.update_switch_titledb import (
update_switch_titledb_task,
SWITCH_TITLEDB_INDEX_KEY,
SWITCH_PRODUCT_ID_KEY,
SWITCH_TITLEDB_INDEX_KEY,
update_switch_titledb_task,
)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,24 +1,25 @@
import pydash
import requests
import functools
import re
import sys
import time
from typing import Final, Optional
from typing_extensions import NotRequired, TypedDict
import pydash
import requests
from config import IGDB_CLIENT_ID, IGDB_CLIENT_SECRET
from fastapi import HTTPException, status
from handler.redis_handler import cache
from logger.logger import log
from requests.exceptions import HTTPError, Timeout
from typing_extensions import NotRequired, TypedDict
from unidecode import unidecode as uc
from .base_hander import (
MetadataHandler,
PS2_OPL_REGEX,
SWITCH_TITLEDB_REGEX,
SWITCH_PRODUCT_ID_REGEX,
SONY_SERIAL_REGEX,
SWITCH_PRODUCT_ID_REGEX,
SWITCH_TITLEDB_REGEX,
MetadataHandler,
)
# Used to display the IGDB API status in the frontend
@@ -149,9 +150,9 @@ class IGDBBaseHandler(MetadataHandler):
def check_twitch_token(func):
@functools.wraps(func)
def wrapper(*args):
args[0].headers["Authorization"] = (
f"Bearer {args[0].twitch_auth.get_oauth_token()}"
)
args[0].headers[
"Authorization"
] = f"Bearer {args[0].twitch_auth.get_oauth_token()}"
return func(*args)
return wrapper

View File

@@ -1,23 +1,24 @@
import re
import time
from typing import Final, Optional
from urllib.parse import quote
import pydash
import requests
import yarl
import re
import time
from config import MOBYGAMES_API_KEY
from typing import Final, Optional
from typing_extensions import NotRequired, TypedDict
from requests.exceptions import HTTPError, Timeout
from logger.logger import log
from unidecode import unidecode as uc
from urllib.parse import quote
from fastapi import HTTPException, status
from logger.logger import log
from requests.exceptions import HTTPError, Timeout
from typing_extensions import NotRequired, TypedDict
from unidecode import unidecode as uc
from .base_hander import (
MetadataHandler,
PS2_OPL_REGEX,
SWITCH_TITLEDB_REGEX,
SWITCH_PRODUCT_ID_REGEX,
SONY_SERIAL_REGEX,
SWITCH_PRODUCT_ID_REGEX,
SWITCH_TITLEDB_REGEX,
MetadataHandler,
)
# Used to display the Mobygames API status in the frontend

View File

@@ -1,10 +1,10 @@
import sys
from enum import Enum
from config import REDIS_HOST, REDIS_PORT, REDIS_PASSWORD, REDIS_USERNAME, REDIS_DB
from config import REDIS_DB, REDIS_HOST, REDIS_PASSWORD, REDIS_PORT, REDIS_USERNAME
from fakeredis import FakeStrictRedis
from logger.logger import log
from redis import Redis
from fakeredis import FakeStrictRedis
from rq import Queue

View File

@@ -1,5 +1,6 @@
from enum import Enum
from typing import Any
import emoji
from config.config_manager import config_manager as cm
from handler.database import db_platform_handler
@@ -12,10 +13,10 @@ from handler.filesystem import (
from handler.metadata import meta_igdb_handler, meta_moby_handler
from logger.logger import log
from models.assets import Save, Screenshot, State
from models.firmware import Firmware
from models.platform import Platform
from models.rom import Rom
from models.user import User
from models.firmware import Firmware
class ScanType(Enum):

View File

@@ -1,255 +1,260 @@
interactions:
- request:
body: fields id,name,slug,summary,total_rating,aggregated_rating,genres.name,alternative_names.name,artworks.url,cover.url,screenshots.url,franchise.name,franchises.name,collections.name,expansions.name,expansions.slug,expansions.cover.url,expanded_games.name,expanded_games.cover.url,dlcs.name,dlcs.slug,dlcs.cover.url,remakes.name,remakes.cover.url,remasters.name,remasters.cover.url,involved_companies.company.name,platforms.name,first_release_date,game_modes.name,player_perspectives.name,ports.name,similar_games.name,language_supports.language.name,external_games.uid,external_games.category;
where id=3340; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer test_token
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- '618'
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/games
response:
body:
string: "{\n \"message\": \"Authorization Failure. Have you tried:\",\n \"Tip
1\": \"Ensure you are sending Authorization and Client-ID as headers.\",\n
\ \"Tip 2\": \"Ensure Authorization value starts with 'Bearer ', including
the space\",\n \"Tip 3\": \"Ensure Authorization value ends with the App
Access Token you generated, NOT your Client Secret.\",\n \"Docs\": \"https://api-docs.igdb.com/#authentication\",\n
\ \"Discord\": \"https://discord.gg/FrvfwQg\"\n}\n"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850a6aa98bd16c85-ZAG
Connection:
- keep-alive
Content-Length:
- '437'
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:43 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=idsNnYjxs8v_3Xm2bnIfGxJGCZ6Ez23X0PApeu2WoJc-1707128383-1-ARoau+8n2A6HcPBwbeTGM2ZpBgHc+YUTpcdHConVruaz6eigsfYp9g/ql0IwVW6YR9uIxWwiLHBAGJJdvGdtnns=;
path=/; expires=Mon, 05-Feb-24 10:49:43 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 4e3b2e1fa2acb7612ea516b89c06af70.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- 4-aVMXkKBO6ANF1XqkKrv3bwoniQz54ulf5eoSHcxSUn0RZ-HmLLPQ==
X-Amz-Cf-Pop:
- VIE50-C2
X-Cache:
- Error from cloudfront
X-Content-Type-Options:
- nosniff
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- SqFp5GvgPHcEOGw=
x-amzn-ErrorType:
- AccessDeniedException
x-amzn-RequestId:
- 02e5e6b4-3c1d-4afa-8521-99ab5b70b38d
status:
code: 401
message: Unauthorized
- request:
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
Content-Length:
- '0'
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://id.twitch.tv/oauth2/token?client_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&client_secret=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&grant_type=client_credentials
response:
body:
string: '{"access_token":"0ajdkw27v1u71kprgniwm19kqh8stt","expires_in":4993399,"token_type":"bearer"}
- request:
body:
fields id,name,slug,summary,total_rating,aggregated_rating,genres.name,alternative_names.name,artworks.url,cover.url,screenshots.url,franchise.name,franchises.name,collections.name,expansions.name,expansions.slug,expansions.cover.url,expanded_games.name,expanded_games.cover.url,dlcs.name,dlcs.slug,dlcs.cover.url,remakes.name,remakes.cover.url,remasters.name,remasters.cover.url,involved_companies.company.name,platforms.name,first_release_date,game_modes.name,player_perspectives.name,ports.name,similar_games.name,language_supports.language.name,external_games.uid,external_games.category;
where id=3340; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer test_token
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- "618"
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/games
response:
body:
string:
"{\n \"message\": \"Authorization Failure. Have you tried:\",\n \"Tip
1\": \"Ensure you are sending Authorization and Client-ID as headers.\",\n
\ \"Tip 2\": \"Ensure Authorization value starts with 'Bearer ', including
the space\",\n \"Tip 3\": \"Ensure Authorization value ends with the App
Access Token you generated, NOT your Client Secret.\",\n \"Docs\": \"https://api-docs.igdb.com/#authentication\",\n
\ \"Discord\": \"https://discord.gg/FrvfwQg\"\n}\n"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850a6aa98bd16c85-ZAG
Connection:
- keep-alive
Content-Length:
- "437"
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:43 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=idsNnYjxs8v_3Xm2bnIfGxJGCZ6Ez23X0PApeu2WoJc-1707128383-1-ARoau+8n2A6HcPBwbeTGM2ZpBgHc+YUTpcdHConVruaz6eigsfYp9g/ql0IwVW6YR9uIxWwiLHBAGJJdvGdtnns=;
path=/; expires=Mon, 05-Feb-24 10:49:43 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 4e3b2e1fa2acb7612ea516b89c06af70.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- 4-aVMXkKBO6ANF1XqkKrv3bwoniQz54ulf5eoSHcxSUn0RZ-HmLLPQ==
X-Amz-Cf-Pop:
- VIE50-C2
X-Cache:
- Error from cloudfront
X-Content-Type-Options:
- nosniff
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- SqFp5GvgPHcEOGw=
x-amzn-ErrorType:
- AccessDeniedException
x-amzn-RequestId:
- 02e5e6b4-3c1d-4afa-8521-99ab5b70b38d
status:
code: 401
message: Unauthorized
- request:
body: null
headers:
Accept:
- "*/*"
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
Content-Length:
- "0"
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://id.twitch.tv/oauth2/token?client_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&client_secret=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&grant_type=client_credentials
response:
body:
string:
'{"access_token":"0ajdkw27v1u71kprgniwm19kqh8stt","expires_in":4993399,"token_type":"bearer"}
'
headers:
Access-Control-Allow-Origin:
- '*'
Connection:
- keep-alive
Content-Length:
- '93'
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:44 GMT
Server:
- nginx
X-Ctxlog-Logid:
- 1-65c0b640-45264976263a955c66dec3d5
status:
code: 200
message: OK
- request:
body: fields id,name,slug,summary,total_rating,aggregated_rating,genres.name,alternative_names.name,artworks.url,cover.url,screenshots.url,franchise.name,franchises.name,collections.name,expansions.name,expansions.slug,expansions.cover.url,expanded_games.name,expanded_games.cover.url,dlcs.name,dlcs.slug,dlcs.cover.url,remakes.name,remakes.cover.url,remasters.name,remasters.cover.url,involved_companies.company.name,platforms.name,first_release_date,game_modes.name,player_perspectives.name,ports.name,similar_games.name,language_supports.language.name,external_games.uid,external_games.category;
where id=3340; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer 0ajdkw27v1u71kprgniwm19kqh8stt
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- '618'
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/games
response:
body:
string: "[\n {\n \"id\": 3340,\n \"aggregated_rating\": 90.0,\n \"alternative_names\":
[\n {\n \"id\": 39105,\n \"name\": \"Zhi Pian Mario\"\n
\ },\n {\n \"id\": 51791,\n \"name\": \"\u30DE\u30EA\u30AA\u30B9\u30C8\u30FC\u30EA\u30FC\"\n
\ },\n {\n \"id\": 51792,\n \"name\": \"\u7EB8\u7247\u9A6C\u91CC\u5965\"\n
\ },\n {\n \"id\": 78718,\n \"name\": \"Mario Story\"\n
\ },\n {\n \"id\": 88088,\n \"name\": \"Super Mario
RPG 2\"\n },\n {\n \"id\": 119107,\n \"name\": \"\u7EB8\u7247\u9A6C\u529B\u6B27\"\n
\ },\n {\n \"id\": 137285,\n \"name\": \"\uD398\uC774\uD37C
\uB9C8\uB9AC\uC624\"\n }\n ],\n \"artworks\": [\n {\n \"id\":
73649,\n \"url\": \"//images.igdb.com/igdb/image/upload/t_thumb/ar1ktt.jpg\"\n
\ }\n ],\n \"cover\": {\n \"id\": 80830,\n \"url\": \"//images.igdb.com/igdb/image/upload/t_thumb/co1qda.jpg\"\n
\ },\n \"external_games\": [\n {\n \"id\": 138931,\n \"category\":
3,\n \"uid\": \"19929\"\n },\n {\n \"id\": 245769,\n
\ \"category\": 14,\n \"uid\": \"18231\"\n },\n {\n
\ \"id\": 1931441,\n \"category\": 20,\n \"uid\": \"B01BLAWHKI\"\n
\ },\n {\n \"id\": 1931588,\n \"category\": 20,\n \"uid\":
\"B003ZDOH3K\"\n },\n {\n \"id\": 1933352,\n \"category\":
20,\n \"uid\": \"B009LUDMJQ\"\n }\n ],\n \"first_release_date\":
965952000,\n \"franchises\": [\n {\n \"id\": 845,\n \"name\":
\"Mario\"\n }\n ],\n \"game_modes\": [\n {\n \"id\":
1,\n \"name\": \"Single player\"\n }\n ],\n \"genres\":
[\n {\n \"id\": 12,\n \"name\": \"Role-playing (RPG)\"\n
\ },\n {\n \"id\": 16,\n \"name\": \"Turn-based strategy
(TBS)\"\n },\n {\n \"id\": 31,\n \"name\": \"Adventure\"\n
\ }\n ],\n \"involved_companies\": [\n {\n \"id\": 148214,\n
\ \"company\": {\n \"id\": 70,\n \"name\": \"Nintendo\"\n
\ }\n },\n {\n \"id\": 148215,\n \"company\":
{\n \"id\": 765,\n \"name\": \"Intelligent Systems Co.,
Ltd.\"\n }\n },\n {\n \"id\": 225578,\n \"company\":
{\n \"id\": 5163,\n \"name\": \"iQue\"\n }\n },\n
\ {\n \"id\": 225579,\n \"company\": {\n \"id\":
812,\n \"name\": \"Gradiente\"\n }\n }\n ],\n \"name\":
\"Paper Mario\",\n \"platforms\": [\n {\n \"id\": 4,\n \"name\":
\"Nintendo 64\"\n },\n {\n \"id\": 5,\n \"name\":
\"Wii\"\n },\n {\n \"id\": 41,\n \"name\": \"Wii U\"\n
\ }\n ],\n \"player_perspectives\": [\n {\n \"id\":
2,\n \"name\": \"Third person\"\n },\n {\n \"id\":
4,\n \"name\": \"Side view\"\n }\n ],\n \"screenshots\":
[\n {\n \"id\": 24167,\n \"url\": \"//images.igdb.com/igdb/image/upload/t_thumb/a5r3k2lf3lgvifrycqeg.jpg\"\n
\ },\n {\n \"id\": 24168,\n \"url\": \"//images.igdb.com/igdb/image/upload/t_thumb/hdxgs9nruycvrzcgvseu.jpg\"\n
\ },\n {\n \"id\": 24169,\n \"url\": \"//images.igdb.com/igdb/image/upload/t_thumb/ig9ainu9fershqdinox1.jpg\"\n
\ },\n {\n \"id\": 24170,\n \"url\": \"//images.igdb.com/igdb/image/upload/t_thumb/jz66se3deczeta6hd4ys.jpg\"\n
\ },\n {\n \"id\": 24171,\n \"url\": \"//images.igdb.com/igdb/image/upload/t_thumb/kjnf90jnud6njmwto3th.jpg\"\n
\ }\n ],\n \"similar_games\": [\n {\n \"id\": 358,\n
\ \"name\": \"Super Mario Bros.\"\n },\n {\n \"id\":
660,\n \"name\": \"Darkstone\"\n },\n {\n \"id\":
1026,\n \"name\": \"The Legend of Zelda: A Link to the Past\"\n },\n
\ {\n \"id\": 1035,\n \"name\": \"The Legend of Zelda: The
Minish Cap\"\n },\n {\n \"id\": 1068,\n \"name\":
\"Super Mario Bros. 3\"\n },\n {\n \"id\": 1280,\n \"name\":
\"Breath of Fire IV\"\n },\n {\n \"id\": 2148,\n \"name\":
\"Banjo-Kazooie\"\n },\n {\n \"id\": 3349,\n \"name\":
\"Paper Mario: The Thousand-Year Door\"\n },\n {\n \"id\":
3351,\n \"name\": \"Mario \\u0026 Luigi: Superstar Saga\"\n },\n
\ {\n \"id\": 22387,\n \"name\": \"Legrand Legacy\"\n }\n
\ ],\n \"slug\": \"paper-mario\",\n \"summary\": \"Paper Mario, a
turn-based JRPG entry in the Mario franchise with a paper-based aesthetic
and platforming elements, sees the titular character working his way through
the Mushroom Kingdom\\u0027s diverse locales and biomes, meeting its inhabitants,
fighthing unruly enemies and recruiting an array of companions in order to
once again save Princess Peach from the clutches of the evil Koopa King Bowser.\",\n
\ \"total_rating\": 88.63944908765737,\n \"language_supports\": [\n {\n
\ \"id\": 473450,\n \"language\": {\n \"id\": 3,\n \"name\":
\"Chinese (Traditional)\"\n }\n },\n {\n \"id\": 473451,\n
\ \"language\": {\n \"id\": 7,\n \"name\": \"English\"\n
\ }\n },\n {\n \"id\": 473452,\n \"language\":
{\n \"id\": 16,\n \"name\": \"Japanese\"\n }\n },\n
\ {\n \"id\": 492896,\n \"language\": {\n \"id\":
12,\n \"name\": \"French\"\n }\n },\n {\n \"id\":
492897,\n \"language\": {\n \"id\": 27,\n \"name\":
\"German\"\n }\n },\n {\n \"id\": 492898,\n \"language\":
{\n \"id\": 9,\n \"name\": \"Spanish (Spain)\"\n }\n
\ }\n ],\n \"collections\": [\n {\n \"id\": 240,\n \"name\":
\"Super Mario\"\n },\n {\n \"id\": 593,\n \"name\":
\"Paper Mario\"\n }\n ]\n }\n]"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850a6ab38d90247e-ZAG
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Length:
- '1538'
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:44 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=AWDtDNBesiBNRG_TAxOGiuFwRFLkVaMKKzacjuSfN1A-1707128384-1-AZI98at0D2lKevu+JZmue7g+iAQDTWUztnF+TYef4qpdJwzWz5QM6WAT6R4v8/uSMGLSpUNPeyVatb7wLRpmQzQ=;
path=/; expires=Mon, 05-Feb-24 10:49:44 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 4e3b2e1fa2acb7612ea516b89c06af70.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- qO4AjLq5N8IuebEhbM-ll0ZIUdDLcpk5TUQEyihZkZ4KsQysKFyAug==
X-Amz-Cf-Pop:
- VIE50-C2
X-Cache:
- Miss from cloudfront
X-Content-Type-Options:
- nosniff
X-Count:
- '1'
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- SqFqJGvLPHcEmEQ=
x-amzn-Remapped-Content-Length:
- '1538'
x-amzn-Remapped-Date:
- Mon, 05 Feb 2024 10:19:44 GMT
x-amzn-RequestId:
- e60e2362-b0b4-4e60-8ca2-31f3a4a96fb3
status:
code: 200
message: OK
'
headers:
Access-Control-Allow-Origin:
- "*"
Connection:
- keep-alive
Content-Length:
- "93"
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:44 GMT
Server:
- nginx
X-Ctxlog-Logid:
- 1-65c0b640-45264976263a955c66dec3d5
status:
code: 200
message: OK
- request:
body:
fields id,name,slug,summary,total_rating,aggregated_rating,genres.name,alternative_names.name,artworks.url,cover.url,screenshots.url,franchise.name,franchises.name,collections.name,expansions.name,expansions.slug,expansions.cover.url,expanded_games.name,expanded_games.cover.url,dlcs.name,dlcs.slug,dlcs.cover.url,remakes.name,remakes.cover.url,remasters.name,remasters.cover.url,involved_companies.company.name,platforms.name,first_release_date,game_modes.name,player_perspectives.name,ports.name,similar_games.name,language_supports.language.name,external_games.uid,external_games.category;
where id=3340; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer 0ajdkw27v1u71kprgniwm19kqh8stt
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- "618"
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/games
response:
body:
string:
"[\n {\n \"id\": 3340,\n \"aggregated_rating\": 90.0,\n \"alternative_names\":
[\n {\n \"id\": 39105,\n \"name\": \"Zhi Pian Mario\"\n
\ },\n {\n \"id\": 51791,\n \"name\": \"\u30DE\u30EA\u30AA\u30B9\u30C8\u30FC\u30EA\u30FC\"\n
\ },\n {\n \"id\": 51792,\n \"name\": \"\u7EB8\u7247\u9A6C\u91CC\u5965\"\n
\ },\n {\n \"id\": 78718,\n \"name\": \"Mario Story\"\n
\ },\n {\n \"id\": 88088,\n \"name\": \"Super Mario
RPG 2\"\n },\n {\n \"id\": 119107,\n \"name\": \"\u7EB8\u7247\u9A6C\u529B\u6B27\"\n
\ },\n {\n \"id\": 137285,\n \"name\": \"\uD398\uC774\uD37C
\uB9C8\uB9AC\uC624\"\n }\n ],\n \"artworks\": [\n {\n \"id\":
73649,\n \"url\": \"//images.igdb.com/igdb/image/upload/t_thumb/ar1ktt.jpg\"\n
\ }\n ],\n \"cover\": {\n \"id\": 80830,\n \"url\": \"//images.igdb.com/igdb/image/upload/t_thumb/co1qda.jpg\"\n
\ },\n \"external_games\": [\n {\n \"id\": 138931,\n \"category\":
3,\n \"uid\": \"19929\"\n },\n {\n \"id\": 245769,\n
\ \"category\": 14,\n \"uid\": \"18231\"\n },\n {\n
\ \"id\": 1931441,\n \"category\": 20,\n \"uid\": \"B01BLAWHKI\"\n
\ },\n {\n \"id\": 1931588,\n \"category\": 20,\n \"uid\":
\"B003ZDOH3K\"\n },\n {\n \"id\": 1933352,\n \"category\":
20,\n \"uid\": \"B009LUDMJQ\"\n }\n ],\n \"first_release_date\":
965952000,\n \"franchises\": [\n {\n \"id\": 845,\n \"name\":
\"Mario\"\n }\n ],\n \"game_modes\": [\n {\n \"id\":
1,\n \"name\": \"Single player\"\n }\n ],\n \"genres\":
[\n {\n \"id\": 12,\n \"name\": \"Role-playing (RPG)\"\n
\ },\n {\n \"id\": 16,\n \"name\": \"Turn-based strategy
(TBS)\"\n },\n {\n \"id\": 31,\n \"name\": \"Adventure\"\n
\ }\n ],\n \"involved_companies\": [\n {\n \"id\": 148214,\n
\ \"company\": {\n \"id\": 70,\n \"name\": \"Nintendo\"\n
\ }\n },\n {\n \"id\": 148215,\n \"company\":
{\n \"id\": 765,\n \"name\": \"Intelligent Systems Co.,
Ltd.\"\n }\n },\n {\n \"id\": 225578,\n \"company\":
{\n \"id\": 5163,\n \"name\": \"iQue\"\n }\n },\n
\ {\n \"id\": 225579,\n \"company\": {\n \"id\":
812,\n \"name\": \"Gradiente\"\n }\n }\n ],\n \"name\":
\"Paper Mario\",\n \"platforms\": [\n {\n \"id\": 4,\n \"name\":
\"Nintendo 64\"\n },\n {\n \"id\": 5,\n \"name\":
\"Wii\"\n },\n {\n \"id\": 41,\n \"name\": \"Wii U\"\n
\ }\n ],\n \"player_perspectives\": [\n {\n \"id\":
2,\n \"name\": \"Third person\"\n },\n {\n \"id\":
4,\n \"name\": \"Side view\"\n }\n ],\n \"screenshots\":
[\n {\n \"id\": 24167,\n \"url\": \"//images.igdb.com/igdb/image/upload/t_thumb/a5r3k2lf3lgvifrycqeg.jpg\"\n
\ },\n {\n \"id\": 24168,\n \"url\": \"//images.igdb.com/igdb/image/upload/t_thumb/hdxgs9nruycvrzcgvseu.jpg\"\n
\ },\n {\n \"id\": 24169,\n \"url\": \"//images.igdb.com/igdb/image/upload/t_thumb/ig9ainu9fershqdinox1.jpg\"\n
\ },\n {\n \"id\": 24170,\n \"url\": \"//images.igdb.com/igdb/image/upload/t_thumb/jz66se3deczeta6hd4ys.jpg\"\n
\ },\n {\n \"id\": 24171,\n \"url\": \"//images.igdb.com/igdb/image/upload/t_thumb/kjnf90jnud6njmwto3th.jpg\"\n
\ }\n ],\n \"similar_games\": [\n {\n \"id\": 358,\n
\ \"name\": \"Super Mario Bros.\"\n },\n {\n \"id\":
660,\n \"name\": \"Darkstone\"\n },\n {\n \"id\":
1026,\n \"name\": \"The Legend of Zelda: A Link to the Past\"\n },\n
\ {\n \"id\": 1035,\n \"name\": \"The Legend of Zelda: The
Minish Cap\"\n },\n {\n \"id\": 1068,\n \"name\":
\"Super Mario Bros. 3\"\n },\n {\n \"id\": 1280,\n \"name\":
\"Breath of Fire IV\"\n },\n {\n \"id\": 2148,\n \"name\":
\"Banjo-Kazooie\"\n },\n {\n \"id\": 3349,\n \"name\":
\"Paper Mario: The Thousand-Year Door\"\n },\n {\n \"id\":
3351,\n \"name\": \"Mario \\u0026 Luigi: Superstar Saga\"\n },\n
\ {\n \"id\": 22387,\n \"name\": \"Legrand Legacy\"\n }\n
\ ],\n \"slug\": \"paper-mario\",\n \"summary\": \"Paper Mario, a
turn-based JRPG entry in the Mario franchise with a paper-based aesthetic
and platforming elements, sees the titular character working his way through
the Mushroom Kingdom\\u0027s diverse locales and biomes, meeting its inhabitants,
fighthing unruly enemies and recruiting an array of companions in order to
once again save Princess Peach from the clutches of the evil Koopa King Bowser.\",\n
\ \"total_rating\": 88.63944908765737,\n \"language_supports\": [\n {\n
\ \"id\": 473450,\n \"language\": {\n \"id\": 3,\n \"name\":
\"Chinese (Traditional)\"\n }\n },\n {\n \"id\": 473451,\n
\ \"language\": {\n \"id\": 7,\n \"name\": \"English\"\n
\ }\n },\n {\n \"id\": 473452,\n \"language\":
{\n \"id\": 16,\n \"name\": \"Japanese\"\n }\n },\n
\ {\n \"id\": 492896,\n \"language\": {\n \"id\":
12,\n \"name\": \"French\"\n }\n },\n {\n \"id\":
492897,\n \"language\": {\n \"id\": 27,\n \"name\":
\"German\"\n }\n },\n {\n \"id\": 492898,\n \"language\":
{\n \"id\": 9,\n \"name\": \"Spanish (Spain)\"\n }\n
\ }\n ],\n \"collections\": [\n {\n \"id\": 240,\n \"name\":
\"Super Mario\"\n },\n {\n \"id\": 593,\n \"name\":
\"Paper Mario\"\n }\n ]\n }\n]"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850a6ab38d90247e-ZAG
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Length:
- "1538"
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:44 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=AWDtDNBesiBNRG_TAxOGiuFwRFLkVaMKKzacjuSfN1A-1707128384-1-AZI98at0D2lKevu+JZmue7g+iAQDTWUztnF+TYef4qpdJwzWz5QM6WAT6R4v8/uSMGLSpUNPeyVatb7wLRpmQzQ=;
path=/; expires=Mon, 05-Feb-24 10:49:44 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 4e3b2e1fa2acb7612ea516b89c06af70.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- qO4AjLq5N8IuebEhbM-ll0ZIUdDLcpk5TUQEyihZkZ4KsQysKFyAug==
X-Amz-Cf-Pop:
- VIE50-C2
X-Cache:
- Miss from cloudfront
X-Content-Type-Options:
- nosniff
X-Count:
- "1"
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- SqFqJGvLPHcEmEQ=
x-amzn-Remapped-Content-Length:
- "1538"
x-amzn-Remapped-Date:
- Mon, 05 Feb 2024 10:19:44 GMT
x-amzn-RequestId:
- e60e2362-b0b4-4e60-8ca2-31f3a4a96fb3
status:
code: 200
message: OK
version: 1

File diff suppressed because it is too large Load Diff

View File

@@ -1,422 +1,426 @@
interactions:
- request:
body: fields id,name; where slug="n64"; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer test_token
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- '44'
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/platforms
response:
body:
string: "{\n \"message\": \"Authorization Failure. Have you tried:\",\n \"Tip
1\": \"Ensure you are sending Authorization and Client-ID as headers.\",\n
\ \"Tip 2\": \"Ensure Authorization value starts with 'Bearer ', including
the space\",\n \"Tip 3\": \"Ensure Authorization value ends with the App
Access Token you generated, NOT your Client Secret.\",\n \"Docs\": \"https://api-docs.igdb.com/#authentication\",\n
\ \"Discord\": \"https://discord.gg/FrvfwQg\"\n}\n"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850a6a084fe22491-ZAG
Connection:
- keep-alive
Content-Length:
- '437'
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:17 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=wI5qRiMVg9zeRFC16EWmg5QX4LC2PiWBKed5CMdjsrs-1707128357-1-AdqBajl1HykmrPno2Olmo7Zpm1T2Izl1AN267NfkMklNUNsMll5MKFYK9+X0hB6xMDwYFuaYqPMsN1TIEfK0bLA=;
path=/; expires=Mon, 05-Feb-24 10:49:17 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 4ca98b546b8d71c72caf6a3d8f75dc24.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- QvQSlzbZxMCrYfGYRZS0RrTn75PhhgRT3v52Ht0I77p2OfVZIe_kEQ==
X-Amz-Cf-Pop:
- VIE50-C2
X-Cache:
- Error from cloudfront
X-Content-Type-Options:
- nosniff
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- SqFl3EmCvHcEiEw=
x-amzn-ErrorType:
- AccessDeniedException
x-amzn-RequestId:
- 33d240f8-5a87-42ee-bb46-fa1364caa51e
status:
code: 401
message: Unauthorized
- request:
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
Content-Length:
- '0'
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://id.twitch.tv/oauth2/token?client_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&client_secret=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&grant_type=client_credentials
response:
body:
string: '{"access_token":"g7ae578ve5tifqtdn3bezx80bstfue","expires_in":5314976,"token_type":"bearer"}
- request:
body: fields id,name; where slug="n64"; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer test_token
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- "44"
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/platforms
response:
body:
string:
"{\n \"message\": \"Authorization Failure. Have you tried:\",\n \"Tip
1\": \"Ensure you are sending Authorization and Client-ID as headers.\",\n
\ \"Tip 2\": \"Ensure Authorization value starts with 'Bearer ', including
the space\",\n \"Tip 3\": \"Ensure Authorization value ends with the App
Access Token you generated, NOT your Client Secret.\",\n \"Docs\": \"https://api-docs.igdb.com/#authentication\",\n
\ \"Discord\": \"https://discord.gg/FrvfwQg\"\n}\n"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850a6a084fe22491-ZAG
Connection:
- keep-alive
Content-Length:
- "437"
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:17 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=wI5qRiMVg9zeRFC16EWmg5QX4LC2PiWBKed5CMdjsrs-1707128357-1-AdqBajl1HykmrPno2Olmo7Zpm1T2Izl1AN267NfkMklNUNsMll5MKFYK9+X0hB6xMDwYFuaYqPMsN1TIEfK0bLA=;
path=/; expires=Mon, 05-Feb-24 10:49:17 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 4ca98b546b8d71c72caf6a3d8f75dc24.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- QvQSlzbZxMCrYfGYRZS0RrTn75PhhgRT3v52Ht0I77p2OfVZIe_kEQ==
X-Amz-Cf-Pop:
- VIE50-C2
X-Cache:
- Error from cloudfront
X-Content-Type-Options:
- nosniff
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- SqFl3EmCvHcEiEw=
x-amzn-ErrorType:
- AccessDeniedException
x-amzn-RequestId:
- 33d240f8-5a87-42ee-bb46-fa1364caa51e
status:
code: 401
message: Unauthorized
- request:
body: null
headers:
Accept:
- "*/*"
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
Content-Length:
- "0"
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://id.twitch.tv/oauth2/token?client_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&client_secret=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&grant_type=client_credentials
response:
body:
string:
'{"access_token":"g7ae578ve5tifqtdn3bezx80bstfue","expires_in":5314976,"token_type":"bearer"}
'
headers:
Access-Control-Allow-Origin:
- '*'
Connection:
- keep-alive
Content-Length:
- '93'
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:18 GMT
Server:
- nginx
X-Ctxlog-Logid:
- 1-65c0b626-79607bfc1350e4771b26d79a
status:
code: 200
message: OK
- request:
body: fields id,name; where slug="n64"; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer g7ae578ve5tifqtdn3bezx80bstfue
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- '44'
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/platforms
response:
body:
string: "[\n {\n \"id\": 4,\n \"name\": \"Nintendo 64\"\n }\n]"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850a6a127e4a2480-ZAG
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:19 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=BhoByQbyH5w5XxZfGFgNDyCdYOO4_tsv4VbwckN.V.k-1707128359-1-AfyHumutGxUowqCOTMklr91ddX5Q0JcCx3fEVGCMDj/EgPxnZ1+MTSPUUqHNzKEXgv7ofFoFgRd4Sm2PbA7yf9A=;
path=/; expires=Mon, 05-Feb-24 10:49:19 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Transfer-Encoding:
- chunked
Via:
- 1.1 4ca98b546b8d71c72caf6a3d8f75dc24.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- Q-_mlygniUPJuoMIWeVazYnAUKO-JwlI6ICG8BHyyU7LqUtioQBnqA==
X-Amz-Cf-Pop:
- VIE50-C2
X-Cache:
- Miss from cloudfront
X-Content-Type-Options:
- nosniff
X-Count:
- '1'
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- SqFmLEj9vHcEY_Q=
x-amzn-Remapped-Content-Length:
- '50'
x-amzn-Remapped-Date:
- Mon, 05 Feb 2024 10:19:19 GMT
x-amzn-RequestId:
- fff69edb-7d6d-4333-9b3f-866113a347b7
status:
code: 200
message: OK
- request:
body: fields id,name; where slug="not-real"; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer test_token
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- '49'
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/platforms
response:
body:
string: "{\n \"message\": \"Authorization Failure. Have you tried:\",\n \"Tip
1\": \"Ensure you are sending Authorization and Client-ID as headers.\",\n
\ \"Tip 2\": \"Ensure Authorization value starts with 'Bearer ', including
the space\",\n \"Tip 3\": \"Ensure Authorization value ends with the App
Access Token you generated, NOT your Client Secret.\",\n \"Docs\": \"https://api-docs.igdb.com/#authentication\",\n
\ \"Discord\": \"https://discord.gg/FrvfwQg\"\n}\n"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850a6a17aaf22480-ZAG
Connection:
- keep-alive
Content-Length:
- '437'
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:19 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=VCUWPaFo1l0.hhcoY8TNbX.7v.sHgv3o5msGbW4IwY4-1707128359-1-AV/UMB6hyybtdlkNtDX05HkPHB47tI6KsqFMb3tqKal7TTIv6Xz/vDTpEhLXDk7N4+UU5aMO6QKlmosR6ZUvL7c=;
path=/; expires=Mon, 05-Feb-24 10:49:19 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 c8710a117c1dfdaea4e9dfc4d41970d2.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- vbQSmJ-mKi0-ExOR5HRDVL-iUet_f91se4KurIK-GWFAtJPMaw9Vgg==
X-Amz-Cf-Pop:
- VIE50-C2
X-Cache:
- Error from cloudfront
X-Content-Type-Options:
- nosniff
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- SqFmQEslvHcEnmg=
x-amzn-ErrorType:
- AccessDeniedException
x-amzn-RequestId:
- c4f1e9b7-87a1-48a8-9ff3-c829e6a79f5e
status:
code: 401
message: Unauthorized
- request:
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
Content-Length:
- '0'
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://id.twitch.tv/oauth2/token?client_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&client_secret=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&grant_type=client_credentials
response:
body:
string: '{"access_token":"ce0q1kmen9ztee5526s91upn2pgrjt","expires_in":5469004,"token_type":"bearer"}
'
headers:
Access-Control-Allow-Origin:
- "*"
Connection:
- keep-alive
Content-Length:
- "93"
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:18 GMT
Server:
- nginx
X-Ctxlog-Logid:
- 1-65c0b626-79607bfc1350e4771b26d79a
status:
code: 200
message: OK
- request:
body: fields id,name; where slug="n64"; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer g7ae578ve5tifqtdn3bezx80bstfue
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- "44"
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/platforms
response:
body:
string: "[\n {\n \"id\": 4,\n \"name\": \"Nintendo 64\"\n }\n]"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850a6a127e4a2480-ZAG
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:19 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=BhoByQbyH5w5XxZfGFgNDyCdYOO4_tsv4VbwckN.V.k-1707128359-1-AfyHumutGxUowqCOTMklr91ddX5Q0JcCx3fEVGCMDj/EgPxnZ1+MTSPUUqHNzKEXgv7ofFoFgRd4Sm2PbA7yf9A=;
path=/; expires=Mon, 05-Feb-24 10:49:19 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Transfer-Encoding:
- chunked
Via:
- 1.1 4ca98b546b8d71c72caf6a3d8f75dc24.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- Q-_mlygniUPJuoMIWeVazYnAUKO-JwlI6ICG8BHyyU7LqUtioQBnqA==
X-Amz-Cf-Pop:
- VIE50-C2
X-Cache:
- Miss from cloudfront
X-Content-Type-Options:
- nosniff
X-Count:
- "1"
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- SqFmLEj9vHcEY_Q=
x-amzn-Remapped-Content-Length:
- "50"
x-amzn-Remapped-Date:
- Mon, 05 Feb 2024 10:19:19 GMT
x-amzn-RequestId:
- fff69edb-7d6d-4333-9b3f-866113a347b7
status:
code: 200
message: OK
- request:
body: fields id,name; where slug="not-real"; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer test_token
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- "49"
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/platforms
response:
body:
string:
"{\n \"message\": \"Authorization Failure. Have you tried:\",\n \"Tip
1\": \"Ensure you are sending Authorization and Client-ID as headers.\",\n
\ \"Tip 2\": \"Ensure Authorization value starts with 'Bearer ', including
the space\",\n \"Tip 3\": \"Ensure Authorization value ends with the App
Access Token you generated, NOT your Client Secret.\",\n \"Docs\": \"https://api-docs.igdb.com/#authentication\",\n
\ \"Discord\": \"https://discord.gg/FrvfwQg\"\n}\n"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850a6a17aaf22480-ZAG
Connection:
- keep-alive
Content-Length:
- "437"
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:19 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=VCUWPaFo1l0.hhcoY8TNbX.7v.sHgv3o5msGbW4IwY4-1707128359-1-AV/UMB6hyybtdlkNtDX05HkPHB47tI6KsqFMb3tqKal7TTIv6Xz/vDTpEhLXDk7N4+UU5aMO6QKlmosR6ZUvL7c=;
path=/; expires=Mon, 05-Feb-24 10:49:19 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 c8710a117c1dfdaea4e9dfc4d41970d2.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- vbQSmJ-mKi0-ExOR5HRDVL-iUet_f91se4KurIK-GWFAtJPMaw9Vgg==
X-Amz-Cf-Pop:
- VIE50-C2
X-Cache:
- Error from cloudfront
X-Content-Type-Options:
- nosniff
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- SqFmQEslvHcEnmg=
x-amzn-ErrorType:
- AccessDeniedException
x-amzn-RequestId:
- c4f1e9b7-87a1-48a8-9ff3-c829e6a79f5e
status:
code: 401
message: Unauthorized
- request:
body: null
headers:
Accept:
- "*/*"
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
Content-Length:
- "0"
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://id.twitch.tv/oauth2/token?client_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&client_secret=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&grant_type=client_credentials
response:
body:
string:
'{"access_token":"ce0q1kmen9ztee5526s91upn2pgrjt","expires_in":5469004,"token_type":"bearer"}
'
headers:
Access-Control-Allow-Origin:
- '*'
Connection:
- keep-alive
Content-Length:
- '93'
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:21 GMT
Server:
- nginx
X-Ctxlog-Logid:
- 1-65c0b628-6500ce7102a2dac52cf782d3
status:
code: 200
message: OK
- request:
body: fields id,name; where slug="not-real"; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer ce0q1kmen9ztee5526s91upn2pgrjt
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- '49'
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/platforms
response:
body:
string: '[]'
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850a6a218ce1248e-ZAG
Connection:
- keep-alive
Content-Length:
- '2'
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:21 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=b2uiyDgwdN2kh1po30EhKiAv01njluEztOl8HzJbnD0-1707128361-1-ASLaLYhc5sa6VxDrZrhxgDGbLyZSyc8cNz0JRYqQ25IYOH50R7Dn5Q/Q0hc6AnIZ+MMW49mpgnyOyWDJ9WV2eyk=;
path=/; expires=Mon, 05-Feb-24 10:49:21 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 4ca98b546b8d71c72caf6a3d8f75dc24.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- FT_JcJCfNPxDIlcySLiCDv_yJNkstWHK9QQ_xsKwOjEFQKMPEhzFUQ==
X-Amz-Cf-Pop:
- VIE50-C2
X-Cache:
- Miss from cloudfront
X-Content-Type-Options:
- nosniff
X-Count:
- '0'
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- SqFmjGMnvHcEB1w=
x-amzn-Remapped-Content-Length:
- '2'
x-amzn-Remapped-Date:
- Mon, 05 Feb 2024 10:19:21 GMT
x-amzn-RequestId:
- 90fcc208-1691-49ea-97bf-ccab670458d1
status:
code: 200
message: OK
- request:
body: fields id,name; where slug="not-real"; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer ce0q1kmen9ztee5526s91upn2pgrjt
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- '49'
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/platform_versions
response:
body:
string: '[]'
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850a6a269fbc5ac5-VIE
Connection:
- keep-alive
Content-Length:
- '2'
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:22 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=W72fEd3tkalmetq_mNQ7n_UmFAMwTugWoyt6q.tSK0I-1707128362-1-AZq/POkqXl2I0+NMDFqTHngxKUwQ5ehSRihAQE9jYEPPQKQV7W0tP+QteV9RNNRE6AkaIUkjsZWu3VWJXeSFyUw=;
path=/; expires=Mon, 05-Feb-24 10:49:22 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 a4035907ac3c3ba8d1fd116b6b6b9a4c.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- C9AU5yakduVKlqWfBlMyFazD5JPOlFjlfdMHvqrnqVriqauKZPezMg==
X-Amz-Cf-Pop:
- VIE50-C2
X-Cache:
- Miss from cloudfront
X-Content-Type-Options:
- nosniff
X-Count:
- '0'
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- SqFmoEvUvHcEHqg=
x-amzn-Remapped-Content-Length:
- '2'
x-amzn-Remapped-Date:
- Mon, 05 Feb 2024 10:19:22 GMT
x-amzn-RequestId:
- 9b7de1ff-7b8a-4cb4-82be-b90a45f9ab44
status:
code: 200
message: OK
'
headers:
Access-Control-Allow-Origin:
- "*"
Connection:
- keep-alive
Content-Length:
- "93"
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:21 GMT
Server:
- nginx
X-Ctxlog-Logid:
- 1-65c0b628-6500ce7102a2dac52cf782d3
status:
code: 200
message: OK
- request:
body: fields id,name; where slug="not-real"; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer ce0q1kmen9ztee5526s91upn2pgrjt
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- "49"
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/platforms
response:
body:
string: "[]"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850a6a218ce1248e-ZAG
Connection:
- keep-alive
Content-Length:
- "2"
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:21 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=b2uiyDgwdN2kh1po30EhKiAv01njluEztOl8HzJbnD0-1707128361-1-ASLaLYhc5sa6VxDrZrhxgDGbLyZSyc8cNz0JRYqQ25IYOH50R7Dn5Q/Q0hc6AnIZ+MMW49mpgnyOyWDJ9WV2eyk=;
path=/; expires=Mon, 05-Feb-24 10:49:21 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 4ca98b546b8d71c72caf6a3d8f75dc24.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- FT_JcJCfNPxDIlcySLiCDv_yJNkstWHK9QQ_xsKwOjEFQKMPEhzFUQ==
X-Amz-Cf-Pop:
- VIE50-C2
X-Cache:
- Miss from cloudfront
X-Content-Type-Options:
- nosniff
X-Count:
- "0"
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- SqFmjGMnvHcEB1w=
x-amzn-Remapped-Content-Length:
- "2"
x-amzn-Remapped-Date:
- Mon, 05 Feb 2024 10:19:21 GMT
x-amzn-RequestId:
- 90fcc208-1691-49ea-97bf-ccab670458d1
status:
code: 200
message: OK
- request:
body: fields id,name; where slug="not-real"; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer ce0q1kmen9ztee5526s91upn2pgrjt
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- "49"
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/platform_versions
response:
body:
string: "[]"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850a6a269fbc5ac5-VIE
Connection:
- keep-alive
Content-Length:
- "2"
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:22 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=W72fEd3tkalmetq_mNQ7n_UmFAMwTugWoyt6q.tSK0I-1707128362-1-AZq/POkqXl2I0+NMDFqTHngxKUwQ5ehSRihAQE9jYEPPQKQV7W0tP+QteV9RNNRE6AkaIUkjsZWu3VWJXeSFyUw=;
path=/; expires=Mon, 05-Feb-24 10:49:22 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 a4035907ac3c3ba8d1fd116b6b6b9a4c.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- C9AU5yakduVKlqWfBlMyFazD5JPOlFjlfdMHvqrnqVriqauKZPezMg==
X-Amz-Cf-Pop:
- VIE50-C2
X-Cache:
- Miss from cloudfront
X-Content-Type-Options:
- nosniff
X-Count:
- "0"
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- SqFmoEvUvHcEHqg=
x-amzn-Remapped-Content-Length:
- "2"
x-amzn-Remapped-Date:
- Mon, 05 Feb 2024 10:19:22 GMT
x-amzn-RequestId:
- 9b7de1ff-7b8a-4cb4-82be-b90a45f9ab44
status:
code: 200
message: OK
version: 1

View File

@@ -1,372 +1,380 @@
interactions:
- request:
body: search "WWE Smack"; fields id,name,slug,summary,total_rating,aggregated_rating,genres.name,alternative_names.name,artworks.url,cover.url,screenshots.url,franchise.name,franchises.name,collections.name,expansions.name,expansions.slug,expansions.cover.url,expanded_games.name,expanded_games.cover.url,dlcs.name,dlcs.slug,dlcs.cover.url,remakes.name,remakes.cover.url,remasters.name,remasters.cover.url,involved_companies.company.name,platforms.name,first_release_date,game_modes.name,player_perspectives.name,ports.name,similar_games.name,language_supports.language.name,external_games.uid,external_games.category;
where platforms=[8] ; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer test_token
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- '645'
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/games
response:
body:
string: "{\n \"message\": \"Authorization Failure. Have you tried:\",\n \"Tip
1\": \"Ensure you are sending Authorization and Client-ID as headers.\",\n
\ \"Tip 2\": \"Ensure Authorization value starts with 'Bearer ', including
the space\",\n \"Tip 3\": \"Ensure Authorization value ends with the App
Access Token you generated, NOT your Client Secret.\",\n \"Docs\": \"https://api-docs.igdb.com/#authentication\",\n
\ \"Discord\": \"https://discord.gg/FrvfwQg\"\n}\n"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850a6a6cc862248a-ZAG
Connection:
- keep-alive
Content-Length:
- '437'
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:33 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=q9RZ2oX2yUNILpRZVW5OoxHlMGDvBPehxTGDol4K2oI-1707128373-1-AV4dvQqWExP3Dtve1W7vyWoYIbFdjDLAuobb7kXhAgK9VeOuXyVdYFt4J8CHGqbLYqRqXo2qRom19qjprAWkxH4=;
path=/; expires=Mon, 05-Feb-24 10:49:33 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 c8710a117c1dfdaea4e9dfc4d41970d2.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- V2CITeT8MTu0_1ivYUqp2mwvEhRlhwvKoYXDsDCNwCQ7nS_Jp8vl9w==
X-Amz-Cf-Pop:
- VIE50-C2
X-Cache:
- Error from cloudfront
X-Content-Type-Options:
- nosniff
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- SqFobF8DPHcEaEA=
x-amzn-ErrorType:
- AccessDeniedException
x-amzn-RequestId:
- 303a827f-7960-4f11-9625-6da894bd89f0
status:
code: 401
message: Unauthorized
- request:
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
Content-Length:
- '0'
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://id.twitch.tv/oauth2/token?client_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&client_secret=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&grant_type=client_credentials
response:
body:
string: '{"access_token":"ceowppsaubbqnesvgmn8bxq2bz1e93","expires_in":5232645,"token_type":"bearer"}
- request:
body:
search "WWE Smack"; fields id,name,slug,summary,total_rating,aggregated_rating,genres.name,alternative_names.name,artworks.url,cover.url,screenshots.url,franchise.name,franchises.name,collections.name,expansions.name,expansions.slug,expansions.cover.url,expanded_games.name,expanded_games.cover.url,dlcs.name,dlcs.slug,dlcs.cover.url,remakes.name,remakes.cover.url,remasters.name,remasters.cover.url,involved_companies.company.name,platforms.name,first_release_date,game_modes.name,player_perspectives.name,ports.name,similar_games.name,language_supports.language.name,external_games.uid,external_games.category;
where platforms=[8] ; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer test_token
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- "645"
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/games
response:
body:
string:
"{\n \"message\": \"Authorization Failure. Have you tried:\",\n \"Tip
1\": \"Ensure you are sending Authorization and Client-ID as headers.\",\n
\ \"Tip 2\": \"Ensure Authorization value starts with 'Bearer ', including
the space\",\n \"Tip 3\": \"Ensure Authorization value ends with the App
Access Token you generated, NOT your Client Secret.\",\n \"Docs\": \"https://api-docs.igdb.com/#authentication\",\n
\ \"Discord\": \"https://discord.gg/FrvfwQg\"\n}\n"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850a6a6cc862248a-ZAG
Connection:
- keep-alive
Content-Length:
- "437"
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:33 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=q9RZ2oX2yUNILpRZVW5OoxHlMGDvBPehxTGDol4K2oI-1707128373-1-AV4dvQqWExP3Dtve1W7vyWoYIbFdjDLAuobb7kXhAgK9VeOuXyVdYFt4J8CHGqbLYqRqXo2qRom19qjprAWkxH4=;
path=/; expires=Mon, 05-Feb-24 10:49:33 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 c8710a117c1dfdaea4e9dfc4d41970d2.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- V2CITeT8MTu0_1ivYUqp2mwvEhRlhwvKoYXDsDCNwCQ7nS_Jp8vl9w==
X-Amz-Cf-Pop:
- VIE50-C2
X-Cache:
- Error from cloudfront
X-Content-Type-Options:
- nosniff
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- SqFobF8DPHcEaEA=
x-amzn-ErrorType:
- AccessDeniedException
x-amzn-RequestId:
- 303a827f-7960-4f11-9625-6da894bd89f0
status:
code: 401
message: Unauthorized
- request:
body: null
headers:
Accept:
- "*/*"
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
Content-Length:
- "0"
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://id.twitch.tv/oauth2/token?client_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&client_secret=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&grant_type=client_credentials
response:
body:
string:
'{"access_token":"ceowppsaubbqnesvgmn8bxq2bz1e93","expires_in":5232645,"token_type":"bearer"}
'
headers:
Access-Control-Allow-Origin:
- '*'
Connection:
- keep-alive
Content-Length:
- '93'
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:34 GMT
Server:
- nginx
X-Ctxlog-Logid:
- 1-65c0b636-7add0780529675930d3892c4
status:
code: 200
message: OK
- request:
body: search "WWE Smack"; fields id,name,slug,summary,total_rating,aggregated_rating,genres.name,alternative_names.name,artworks.url,cover.url,screenshots.url,franchise.name,franchises.name,collections.name,expansions.name,expansions.slug,expansions.cover.url,expanded_games.name,expanded_games.cover.url,dlcs.name,dlcs.slug,dlcs.cover.url,remakes.name,remakes.cover.url,remasters.name,remasters.cover.url,involved_companies.company.name,platforms.name,first_release_date,game_modes.name,player_perspectives.name,ports.name,similar_games.name,language_supports.language.name,external_games.uid,external_games.category;
where platforms=[8] ; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer ceowppsaubbqnesvgmn8bxq2bz1e93
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- '645'
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/games
response:
body:
string: '[]'
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850a6a78ea775a8f-VIE
Connection:
- keep-alive
Content-Length:
- '2'
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:35 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=nPdFOwqHSK8.4iUCLhlaW0RLKE7sXiBFWo5bapNv8ls-1707128375-1-AcopgG+rfx+1lCOkCsQcixVy6AX38T9d2mao1At8n1nrFCEuHamBbEaQf6lAvFoih7fZq0e6PlmEhTImjuBUUtQ=;
path=/; expires=Mon, 05-Feb-24 10:49:35 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 881b12332738e10f6e80298fbdcd7e8e.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- hm6HNEMABW_ZnDuFNHPpzFNwTht8Xx3NuBKJpXRQp7TkBKOlSRoQgw==
X-Amz-Cf-Pop:
- VIE50-C2
X-Cache:
- Miss from cloudfront
X-Content-Type-Options:
- nosniff
X-Count:
- '0'
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- SqForGNWPHcEl2w=
x-amzn-Remapped-Content-Length:
- '2'
x-amzn-Remapped-Date:
- Mon, 05 Feb 2024 10:19:35 GMT
x-amzn-RequestId:
- 6ea19906-7c95-44bd-a145-9455a3105a3e
status:
code: 200
message: OK
- request:
body: fields game.id,name; where game.platforms=[8] & (name ~ *"WWE Smack"* |
alternative_name ~ *"WWE Smack"*); limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer ceowppsaubbqnesvgmn8bxq2bz1e93
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- '117'
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/search
response:
body:
string: "[\n {\n \"id\": 22703,\n \"game\": {\n \"id\": 6461\n },\n
\ \"name\": \"WWE SmackDown! Shut Your Mouth\"\n },\n {\n \"id\": 23270,\n
\ \"game\": {\n \"id\": 5298\n },\n \"name\": \"WWE SmackDown
vs Raw 2008\"\n },\n {\n \"id\": 38521,\n \"game\": {\n \"id\":
80852\n },\n \"name\": \"WWE Smackdown! vs Raw\"\n },\n {\n \"id\":
42494,\n \"game\": {\n \"id\": 7252\n },\n \"name\": \"WWE SmackDown
vs Raw 2007\"\n },\n {\n \"id\": 64889,\n \"game\": {\n \"id\":
5300\n },\n \"name\": \"WWE SmackDown vs Raw 2010\"\n },\n {\n \"id\":
96855,\n \"game\": {\n \"id\": 2265\n },\n \"name\": \"WWE SmackDown
vs Raw 2011\"\n },\n {\n \"id\": 111128,\n \"game\": {\n \"id\":
5299\n },\n \"name\": \"WWE SmackDown vs Raw 2009\"\n },\n {\n \"id\":
114042,\n \"game\": {\n \"id\": 6442\n },\n \"name\": \"WWE
Smackdown! Here Comes the Pain\"\n },\n {\n \"id\": 164052,\n \"game\":
{\n \"id\": 18323\n },\n \"name\": \"WWE SmackDown! vs Raw 2006\"\n
\ }\n]"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850a6a7c1f99248e-ZAG
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:37 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=rTR9ZrqC1sN4ia5ons.JkcDv_yZgj1BMvUvphQmttjw-1707128377-1-Af9WUirirOQ6ptU0pFtmVvu8UFcO/fjQll/RS0CrwC84+lRPproAa+Mmg4QlLbWku+XN+A85uIZrbjJ74coMUco=;
path=/; expires=Mon, 05-Feb-24 10:49:37 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Transfer-Encoding:
- chunked
Via:
- 1.1 4ca98b546b8d71c72caf6a3d8f75dc24.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- 1mEYrUKTKSm9ho3tcCziBkYL-GIJEuA5d-ope26ulmeddsENjM2nOw==
X-Amz-Cf-Pop:
- VIE50-C2
X-Cache:
- Miss from cloudfront
X-Content-Type-Options:
- nosniff
X-Count:
- '9'
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- SqFo0FsaPHcEidA=
x-amzn-Remapped-Content-Length:
- '954'
x-amzn-Remapped-Date:
- Mon, 05 Feb 2024 10:19:36 GMT
x-amzn-RequestId:
- 749da0d8-ec39-47c1-bc8d-05ae7fc0d335
status:
code: 200
message: OK
- request:
body: fields id,name,slug,summary,total_rating,aggregated_rating,genres.name,alternative_names.name,artworks.url,cover.url,screenshots.url,franchise.name,franchises.name,collections.name,expansions.name,expansions.slug,expansions.cover.url,expanded_games.name,expanded_games.cover.url,dlcs.name,dlcs.slug,dlcs.cover.url,remakes.name,remakes.cover.url,remasters.name,remasters.cover.url,involved_companies.company.name,platforms.name,first_release_date,game_modes.name,player_perspectives.name,ports.name,similar_games.name,language_supports.language.name,external_games.uid,external_games.category;
where id=6461; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer ceowppsaubbqnesvgmn8bxq2bz1e93
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- '618'
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/games
response:
body:
string: "[\n {\n \"id\": 6461,\n \"aggregated_rating\": 80.0,\n \"alternative_names\":
[\n {\n \"id\": 84798,\n \"name\": \"Exciting Pro Wrestling
4\"\n }\n ],\n \"cover\": {\n \"id\": 212962,\n \"url\":
\"//images.igdb.com/igdb/image/upload/t_thumb/co4kbm.jpg\"\n },\n \"external_games\":
[\n {\n \"id\": 150149,\n \"category\": 3,\n \"uid\":
\"7552\"\n },\n {\n \"id\": 1189446,\n \"category\":
14,\n \"uid\": \"6910\"\n }\n ],\n \"first_release_date\":
1036022400,\n \"franchise\": {\n \"id\": 255,\n \"name\": \"WWE\"\n
\ },\n \"franchises\": [\n {\n \"id\": 255,\n \"name\":
\"WWE\"\n }\n ],\n \"game_modes\": [\n {\n \"id\":
1,\n \"name\": \"Single player\"\n },\n {\n \"id\":
4,\n \"name\": \"Split screen\"\n }\n ],\n \"genres\": [\n
\ {\n \"id\": 14,\n \"name\": \"Sport\"\n }\n ],\n
\ \"involved_companies\": [\n {\n \"id\": 15372,\n \"company\":
{\n \"id\": 197,\n \"name\": \"THQ\"\n }\n },\n
\ {\n \"id\": 220218,\n \"company\": {\n \"id\":
14321,\n \"name\": \"Yuke\\u0027s\"\n }\n }\n ],\n
\ \"name\": \"WWE SmackDown! Shut Your Mouth\",\n \"platforms\": [\n
\ {\n \"id\": 8,\n \"name\": \"PlayStation 2\"\n }\n
\ ],\n \"screenshots\": [\n {\n \"id\": 681390,\n \"url\":
\"//images.igdb.com/igdb/image/upload/t_thumb/scelri.jpg\"\n }\n ],\n
\ \"similar_games\": [\n {\n \"id\": 2265,\n \"name\":
\"WWE SmackDown vs. Raw 2011\"\n },\n {\n \"id\": 4573,\n
\ \"name\": \"WWE WrestleMania X8\"\n },\n {\n \"id\":
6442,\n \"name\": \"WWE Smackdown! Here Comes the Pain\"\n },\n
\ {\n \"id\": 6444,\n \"name\": \"WWF SmackDown! 2: Know
Your Role\"\n },\n {\n \"id\": 6445,\n \"name\": \"WWF
SmackDown! Just Bring It\"\n },\n {\n \"id\": 18323,\n \"name\":
\"WWE SmackDown! vs. Raw 2006\"\n },\n {\n \"id\": 48707,\n
\ \"name\": \"WWF King of the Ring\"\n },\n {\n \"id\":
102805,\n \"name\": \"WWE 2K19\"\n },\n {\n \"id\":
114286,\n \"name\": \"Madden NFL 20\"\n },\n {\n \"id\":
114287,\n \"name\": \"FIFA 20\"\n }\n ],\n \"slug\": \"wwe-smackdown-shut-your-mouth\",\n
\ \"summary\": \"A WHOLE NEW SEASON OF SMACKDOWN!\\n\\n-BUILD YOUR OWN DRAMA
WITH REAL WWF STORYLINES\\n-ALL-NEW DRAFT\\n-INTERACTIVE BACKSTAGE AREAS\\n-WHATCHA
GONNA DO?!\",\n \"total_rating\": 79.14862332115482,\n \"collections\":
[\n {\n \"id\": 5106,\n \"name\": \"WWE Smackdown!\"\n
\ }\n ]\n }\n]"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850a6a852af9247e-ZAG
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Length:
- '877'
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:37 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=BFQUPeuv6U_7GnopEtVoMTmmI3k9k3d4PGkruQewvoo-1707128377-1-ASM3OUndgKuFrKoGAd8UgUO4WZEDJf+xEZBsB8kb6oZvQg10rdyGchjFezM7aTl+XQFpDwxmHYK8REi35yiyY8A=;
path=/; expires=Mon, 05-Feb-24 10:49:37 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 4ca98b546b8d71c72caf6a3d8f75dc24.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- 9xlBT46Pb1uXdOwZqdWu36iBZbvw-pZxL2qJIdq30gjn9LecOX0TNg==
X-Amz-Cf-Pop:
- VIE50-C2
X-Cache:
- Miss from cloudfront
X-Content-Type-Options:
- nosniff
X-Count:
- '1'
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- SqFo_FddPHcEROQ=
x-amzn-Remapped-Content-Length:
- '877'
x-amzn-Remapped-Date:
- Mon, 05 Feb 2024 10:19:37 GMT
x-amzn-RequestId:
- 0fcc21b2-2356-4610-a746-626f094edd81
status:
code: 200
message: OK
'
headers:
Access-Control-Allow-Origin:
- "*"
Connection:
- keep-alive
Content-Length:
- "93"
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:34 GMT
Server:
- nginx
X-Ctxlog-Logid:
- 1-65c0b636-7add0780529675930d3892c4
status:
code: 200
message: OK
- request:
body:
search "WWE Smack"; fields id,name,slug,summary,total_rating,aggregated_rating,genres.name,alternative_names.name,artworks.url,cover.url,screenshots.url,franchise.name,franchises.name,collections.name,expansions.name,expansions.slug,expansions.cover.url,expanded_games.name,expanded_games.cover.url,dlcs.name,dlcs.slug,dlcs.cover.url,remakes.name,remakes.cover.url,remasters.name,remasters.cover.url,involved_companies.company.name,platforms.name,first_release_date,game_modes.name,player_perspectives.name,ports.name,similar_games.name,language_supports.language.name,external_games.uid,external_games.category;
where platforms=[8] ; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer ceowppsaubbqnesvgmn8bxq2bz1e93
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- "645"
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/games
response:
body:
string: "[]"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850a6a78ea775a8f-VIE
Connection:
- keep-alive
Content-Length:
- "2"
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:35 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=nPdFOwqHSK8.4iUCLhlaW0RLKE7sXiBFWo5bapNv8ls-1707128375-1-AcopgG+rfx+1lCOkCsQcixVy6AX38T9d2mao1At8n1nrFCEuHamBbEaQf6lAvFoih7fZq0e6PlmEhTImjuBUUtQ=;
path=/; expires=Mon, 05-Feb-24 10:49:35 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 881b12332738e10f6e80298fbdcd7e8e.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- hm6HNEMABW_ZnDuFNHPpzFNwTht8Xx3NuBKJpXRQp7TkBKOlSRoQgw==
X-Amz-Cf-Pop:
- VIE50-C2
X-Cache:
- Miss from cloudfront
X-Content-Type-Options:
- nosniff
X-Count:
- "0"
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- SqForGNWPHcEl2w=
x-amzn-Remapped-Content-Length:
- "2"
x-amzn-Remapped-Date:
- Mon, 05 Feb 2024 10:19:35 GMT
x-amzn-RequestId:
- 6ea19906-7c95-44bd-a145-9455a3105a3e
status:
code: 200
message: OK
- request:
body:
fields game.id,name; where game.platforms=[8] & (name ~ *"WWE Smack"* |
alternative_name ~ *"WWE Smack"*); limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer ceowppsaubbqnesvgmn8bxq2bz1e93
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- "117"
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/search
response:
body:
string:
"[\n {\n \"id\": 22703,\n \"game\": {\n \"id\": 6461\n },\n
\ \"name\": \"WWE SmackDown! Shut Your Mouth\"\n },\n {\n \"id\": 23270,\n
\ \"game\": {\n \"id\": 5298\n },\n \"name\": \"WWE SmackDown
vs Raw 2008\"\n },\n {\n \"id\": 38521,\n \"game\": {\n \"id\":
80852\n },\n \"name\": \"WWE Smackdown! vs Raw\"\n },\n {\n \"id\":
42494,\n \"game\": {\n \"id\": 7252\n },\n \"name\": \"WWE SmackDown
vs Raw 2007\"\n },\n {\n \"id\": 64889,\n \"game\": {\n \"id\":
5300\n },\n \"name\": \"WWE SmackDown vs Raw 2010\"\n },\n {\n \"id\":
96855,\n \"game\": {\n \"id\": 2265\n },\n \"name\": \"WWE SmackDown
vs Raw 2011\"\n },\n {\n \"id\": 111128,\n \"game\": {\n \"id\":
5299\n },\n \"name\": \"WWE SmackDown vs Raw 2009\"\n },\n {\n \"id\":
114042,\n \"game\": {\n \"id\": 6442\n },\n \"name\": \"WWE
Smackdown! Here Comes the Pain\"\n },\n {\n \"id\": 164052,\n \"game\":
{\n \"id\": 18323\n },\n \"name\": \"WWE SmackDown! vs Raw 2006\"\n
\ }\n]"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850a6a7c1f99248e-ZAG
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:37 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=rTR9ZrqC1sN4ia5ons.JkcDv_yZgj1BMvUvphQmttjw-1707128377-1-Af9WUirirOQ6ptU0pFtmVvu8UFcO/fjQll/RS0CrwC84+lRPproAa+Mmg4QlLbWku+XN+A85uIZrbjJ74coMUco=;
path=/; expires=Mon, 05-Feb-24 10:49:37 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Transfer-Encoding:
- chunked
Via:
- 1.1 4ca98b546b8d71c72caf6a3d8f75dc24.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- 1mEYrUKTKSm9ho3tcCziBkYL-GIJEuA5d-ope26ulmeddsENjM2nOw==
X-Amz-Cf-Pop:
- VIE50-C2
X-Cache:
- Miss from cloudfront
X-Content-Type-Options:
- nosniff
X-Count:
- "9"
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- SqFo0FsaPHcEidA=
x-amzn-Remapped-Content-Length:
- "954"
x-amzn-Remapped-Date:
- Mon, 05 Feb 2024 10:19:36 GMT
x-amzn-RequestId:
- 749da0d8-ec39-47c1-bc8d-05ae7fc0d335
status:
code: 200
message: OK
- request:
body:
fields id,name,slug,summary,total_rating,aggregated_rating,genres.name,alternative_names.name,artworks.url,cover.url,screenshots.url,franchise.name,franchises.name,collections.name,expansions.name,expansions.slug,expansions.cover.url,expanded_games.name,expanded_games.cover.url,dlcs.name,dlcs.slug,dlcs.cover.url,remakes.name,remakes.cover.url,remasters.name,remasters.cover.url,involved_companies.company.name,platforms.name,first_release_date,game_modes.name,player_perspectives.name,ports.name,similar_games.name,language_supports.language.name,external_games.uid,external_games.category;
where id=6461; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer ceowppsaubbqnesvgmn8bxq2bz1e93
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- "618"
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/games
response:
body:
string:
"[\n {\n \"id\": 6461,\n \"aggregated_rating\": 80.0,\n \"alternative_names\":
[\n {\n \"id\": 84798,\n \"name\": \"Exciting Pro Wrestling
4\"\n }\n ],\n \"cover\": {\n \"id\": 212962,\n \"url\":
\"//images.igdb.com/igdb/image/upload/t_thumb/co4kbm.jpg\"\n },\n \"external_games\":
[\n {\n \"id\": 150149,\n \"category\": 3,\n \"uid\":
\"7552\"\n },\n {\n \"id\": 1189446,\n \"category\":
14,\n \"uid\": \"6910\"\n }\n ],\n \"first_release_date\":
1036022400,\n \"franchise\": {\n \"id\": 255,\n \"name\": \"WWE\"\n
\ },\n \"franchises\": [\n {\n \"id\": 255,\n \"name\":
\"WWE\"\n }\n ],\n \"game_modes\": [\n {\n \"id\":
1,\n \"name\": \"Single player\"\n },\n {\n \"id\":
4,\n \"name\": \"Split screen\"\n }\n ],\n \"genres\": [\n
\ {\n \"id\": 14,\n \"name\": \"Sport\"\n }\n ],\n
\ \"involved_companies\": [\n {\n \"id\": 15372,\n \"company\":
{\n \"id\": 197,\n \"name\": \"THQ\"\n }\n },\n
\ {\n \"id\": 220218,\n \"company\": {\n \"id\":
14321,\n \"name\": \"Yuke\\u0027s\"\n }\n }\n ],\n
\ \"name\": \"WWE SmackDown! Shut Your Mouth\",\n \"platforms\": [\n
\ {\n \"id\": 8,\n \"name\": \"PlayStation 2\"\n }\n
\ ],\n \"screenshots\": [\n {\n \"id\": 681390,\n \"url\":
\"//images.igdb.com/igdb/image/upload/t_thumb/scelri.jpg\"\n }\n ],\n
\ \"similar_games\": [\n {\n \"id\": 2265,\n \"name\":
\"WWE SmackDown vs. Raw 2011\"\n },\n {\n \"id\": 4573,\n
\ \"name\": \"WWE WrestleMania X8\"\n },\n {\n \"id\":
6442,\n \"name\": \"WWE Smackdown! Here Comes the Pain\"\n },\n
\ {\n \"id\": 6444,\n \"name\": \"WWF SmackDown! 2: Know
Your Role\"\n },\n {\n \"id\": 6445,\n \"name\": \"WWF
SmackDown! Just Bring It\"\n },\n {\n \"id\": 18323,\n \"name\":
\"WWE SmackDown! vs. Raw 2006\"\n },\n {\n \"id\": 48707,\n
\ \"name\": \"WWF King of the Ring\"\n },\n {\n \"id\":
102805,\n \"name\": \"WWE 2K19\"\n },\n {\n \"id\":
114286,\n \"name\": \"Madden NFL 20\"\n },\n {\n \"id\":
114287,\n \"name\": \"FIFA 20\"\n }\n ],\n \"slug\": \"wwe-smackdown-shut-your-mouth\",\n
\ \"summary\": \"A WHOLE NEW SEASON OF SMACKDOWN!\\n\\n-BUILD YOUR OWN DRAMA
WITH REAL WWF STORYLINES\\n-ALL-NEW DRAFT\\n-INTERACTIVE BACKSTAGE AREAS\\n-WHATCHA
GONNA DO?!\",\n \"total_rating\": 79.14862332115482,\n \"collections\":
[\n {\n \"id\": 5106,\n \"name\": \"WWE Smackdown!\"\n
\ }\n ]\n }\n]"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850a6a852af9247e-ZAG
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Length:
- "877"
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:37 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=BFQUPeuv6U_7GnopEtVoMTmmI3k9k3d4PGkruQewvoo-1707128377-1-ASM3OUndgKuFrKoGAd8UgUO4WZEDJf+xEZBsB8kb6oZvQg10rdyGchjFezM7aTl+XQFpDwxmHYK8REi35yiyY8A=;
path=/; expires=Mon, 05-Feb-24 10:49:37 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 4ca98b546b8d71c72caf6a3d8f75dc24.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- 9xlBT46Pb1uXdOwZqdWu36iBZbvw-pZxL2qJIdq30gjn9LecOX0TNg==
X-Amz-Cf-Pop:
- VIE50-C2
X-Cache:
- Miss from cloudfront
X-Content-Type-Options:
- nosniff
X-Count:
- "1"
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- SqFo_FddPHcEROQ=
x-amzn-Remapped-Content-Length:
- "877"
x-amzn-Remapped-Date:
- Mon, 05 Feb 2024 10:19:37 GMT
x-amzn-RequestId:
- 0fcc21b2-2356-4610-a746-626f094edd81
status:
code: 200
message: OK
version: 1

File diff suppressed because it is too large Load Diff

View File

@@ -1,432 +1,441 @@
interactions:
- request:
body: fields id,name,slug,summary,total_rating,aggregated_rating,genres.name,alternative_names.name,artworks.url,cover.url,screenshots.url,franchise.name,franchises.name,collections.name,expansions.name,expansions.slug,expansions.cover.url,expanded_games.name,expanded_games.cover.url,dlcs.name,dlcs.slug,dlcs.cover.url,remakes.name,remakes.cover.url,remasters.name,remasters.cover.url,involved_companies.company.name,platforms.name,first_release_date,game_modes.name,player_perspectives.name,ports.name,similar_games.name,language_supports.language.name,external_games.uid,external_games.category;
where id=3340; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer test_token
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- '618'
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/games
response:
body:
string: "{\n \"message\": \"Authorization Failure. Have you tried:\",\n \"Tip
1\": \"Ensure you are sending Authorization and Client-ID as headers.\",\n
\ \"Tip 2\": \"Ensure Authorization value starts with 'Bearer ', including
the space\",\n \"Tip 3\": \"Ensure Authorization value ends with the App
Access Token you generated, NOT your Client Secret.\",\n \"Docs\": \"https://api-docs.igdb.com/#authentication\",\n
\ \"Discord\": \"https://discord.gg/FrvfwQg\"\n}\n"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850a6a88e92b5a89-VIE
Connection:
- keep-alive
Content-Length:
- '437'
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:38 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=d2HnDrDz7Uw4tR25QPxztbOdLCIck.fkqPtBk8KzHK4-1707128378-1-ARYqDUoIcdtRbsXjAnQHy3VXU02r9bI7TWOKAjnDZmnFyzimVkd0O0dw1a0xGYCuWo/bzdX/1agFoJeZ/FfWoTk=;
path=/; expires=Mon, 05-Feb-24 10:49:38 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 42c9dddb4e518a9ed3248bf50565b120.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- y4GV_3LdprxmhVe-w-sHUQY3rYMF4FGq_sV9TRcftojvt17ejFEOLw==
X-Amz-Cf-Pop:
- VIE50-C2
X-Cache:
- Error from cloudfront
X-Content-Type-Options:
- nosniff
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- SqFpIEW-PHcEn0w=
x-amzn-ErrorType:
- AccessDeniedException
x-amzn-RequestId:
- c463d4bc-d93d-42a1-bf40-6cd79c4f8541
status:
code: 401
message: Unauthorized
- request:
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
Content-Length:
- '0'
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://id.twitch.tv/oauth2/token?client_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&client_secret=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&grant_type=client_credentials
response:
body:
string: '{"access_token":"ceo0skenysx8qxr7433zhovoa20ak2","expires_in":5229503,"token_type":"bearer"}
- request:
body:
fields id,name,slug,summary,total_rating,aggregated_rating,genres.name,alternative_names.name,artworks.url,cover.url,screenshots.url,franchise.name,franchises.name,collections.name,expansions.name,expansions.slug,expansions.cover.url,expanded_games.name,expanded_games.cover.url,dlcs.name,dlcs.slug,dlcs.cover.url,remakes.name,remakes.cover.url,remasters.name,remasters.cover.url,involved_companies.company.name,platforms.name,first_release_date,game_modes.name,player_perspectives.name,ports.name,similar_games.name,language_supports.language.name,external_games.uid,external_games.category;
where id=3340; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer test_token
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- "618"
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/games
response:
body:
string:
"{\n \"message\": \"Authorization Failure. Have you tried:\",\n \"Tip
1\": \"Ensure you are sending Authorization and Client-ID as headers.\",\n
\ \"Tip 2\": \"Ensure Authorization value starts with 'Bearer ', including
the space\",\n \"Tip 3\": \"Ensure Authorization value ends with the App
Access Token you generated, NOT your Client Secret.\",\n \"Docs\": \"https://api-docs.igdb.com/#authentication\",\n
\ \"Discord\": \"https://discord.gg/FrvfwQg\"\n}\n"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850a6a88e92b5a89-VIE
Connection:
- keep-alive
Content-Length:
- "437"
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:38 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=d2HnDrDz7Uw4tR25QPxztbOdLCIck.fkqPtBk8KzHK4-1707128378-1-ARYqDUoIcdtRbsXjAnQHy3VXU02r9bI7TWOKAjnDZmnFyzimVkd0O0dw1a0xGYCuWo/bzdX/1agFoJeZ/FfWoTk=;
path=/; expires=Mon, 05-Feb-24 10:49:38 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 42c9dddb4e518a9ed3248bf50565b120.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- y4GV_3LdprxmhVe-w-sHUQY3rYMF4FGq_sV9TRcftojvt17ejFEOLw==
X-Amz-Cf-Pop:
- VIE50-C2
X-Cache:
- Error from cloudfront
X-Content-Type-Options:
- nosniff
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- SqFpIEW-PHcEn0w=
x-amzn-ErrorType:
- AccessDeniedException
x-amzn-RequestId:
- c463d4bc-d93d-42a1-bf40-6cd79c4f8541
status:
code: 401
message: Unauthorized
- request:
body: null
headers:
Accept:
- "*/*"
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
Content-Length:
- "0"
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://id.twitch.tv/oauth2/token?client_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&client_secret=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&grant_type=client_credentials
response:
body:
string:
'{"access_token":"ceo0skenysx8qxr7433zhovoa20ak2","expires_in":5229503,"token_type":"bearer"}
'
headers:
Access-Control-Allow-Origin:
- '*'
Connection:
- keep-alive
Content-Length:
- '93'
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:39 GMT
Server:
- nginx
X-Ctxlog-Logid:
- 1-65c0b63b-48f1d33821b48a24223cf595
status:
code: 200
message: OK
- request:
body: fields id,name,slug,summary,total_rating,aggregated_rating,genres.name,alternative_names.name,artworks.url,cover.url,screenshots.url,franchise.name,franchises.name,collections.name,expansions.name,expansions.slug,expansions.cover.url,expanded_games.name,expanded_games.cover.url,dlcs.name,dlcs.slug,dlcs.cover.url,remakes.name,remakes.cover.url,remasters.name,remasters.cover.url,involved_companies.company.name,platforms.name,first_release_date,game_modes.name,player_perspectives.name,ports.name,similar_games.name,language_supports.language.name,external_games.uid,external_games.category;
where id=3340; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer ceo0skenysx8qxr7433zhovoa20ak2
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- '618'
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/games
response:
body:
string: "[\n {\n \"id\": 3340,\n \"aggregated_rating\": 90.0,\n \"alternative_names\":
[\n {\n \"id\": 39105,\n \"name\": \"Zhi Pian Mario\"\n
\ },\n {\n \"id\": 51791,\n \"name\": \"\u30DE\u30EA\u30AA\u30B9\u30C8\u30FC\u30EA\u30FC\"\n
\ },\n {\n \"id\": 51792,\n \"name\": \"\u7EB8\u7247\u9A6C\u91CC\u5965\"\n
\ },\n {\n \"id\": 78718,\n \"name\": \"Mario Story\"\n
\ },\n {\n \"id\": 88088,\n \"name\": \"Super Mario
RPG 2\"\n },\n {\n \"id\": 119107,\n \"name\": \"\u7EB8\u7247\u9A6C\u529B\u6B27\"\n
\ },\n {\n \"id\": 137285,\n \"name\": \"\uD398\uC774\uD37C
\uB9C8\uB9AC\uC624\"\n }\n ],\n \"artworks\": [\n {\n \"id\":
73649,\n \"url\": \"//images.igdb.com/igdb/image/upload/t_thumb/ar1ktt.jpg\"\n
\ }\n ],\n \"cover\": {\n \"id\": 80830,\n \"url\": \"//images.igdb.com/igdb/image/upload/t_thumb/co1qda.jpg\"\n
\ },\n \"external_games\": [\n {\n \"id\": 138931,\n \"category\":
3,\n \"uid\": \"19929\"\n },\n {\n \"id\": 245769,\n
\ \"category\": 14,\n \"uid\": \"18231\"\n },\n {\n
\ \"id\": 1931441,\n \"category\": 20,\n \"uid\": \"B01BLAWHKI\"\n
\ },\n {\n \"id\": 1931588,\n \"category\": 20,\n \"uid\":
\"B003ZDOH3K\"\n },\n {\n \"id\": 1933352,\n \"category\":
20,\n \"uid\": \"B009LUDMJQ\"\n }\n ],\n \"first_release_date\":
965952000,\n \"franchises\": [\n {\n \"id\": 845,\n \"name\":
\"Mario\"\n }\n ],\n \"game_modes\": [\n {\n \"id\":
1,\n \"name\": \"Single player\"\n }\n ],\n \"genres\":
[\n {\n \"id\": 12,\n \"name\": \"Role-playing (RPG)\"\n
\ },\n {\n \"id\": 16,\n \"name\": \"Turn-based strategy
(TBS)\"\n },\n {\n \"id\": 31,\n \"name\": \"Adventure\"\n
\ }\n ],\n \"involved_companies\": [\n {\n \"id\": 148214,\n
\ \"company\": {\n \"id\": 70,\n \"name\": \"Nintendo\"\n
\ }\n },\n {\n \"id\": 148215,\n \"company\":
{\n \"id\": 765,\n \"name\": \"Intelligent Systems Co.,
Ltd.\"\n }\n },\n {\n \"id\": 225578,\n \"company\":
{\n \"id\": 5163,\n \"name\": \"iQue\"\n }\n },\n
\ {\n \"id\": 225579,\n \"company\": {\n \"id\":
812,\n \"name\": \"Gradiente\"\n }\n }\n ],\n \"name\":
\"Paper Mario\",\n \"platforms\": [\n {\n \"id\": 4,\n \"name\":
\"Nintendo 64\"\n },\n {\n \"id\": 5,\n \"name\":
\"Wii\"\n },\n {\n \"id\": 41,\n \"name\": \"Wii U\"\n
\ }\n ],\n \"player_perspectives\": [\n {\n \"id\":
2,\n \"name\": \"Third person\"\n },\n {\n \"id\":
4,\n \"name\": \"Side view\"\n }\n ],\n \"screenshots\":
[\n {\n \"id\": 24167,\n \"url\": \"//images.igdb.com/igdb/image/upload/t_thumb/a5r3k2lf3lgvifrycqeg.jpg\"\n
\ },\n {\n \"id\": 24168,\n \"url\": \"//images.igdb.com/igdb/image/upload/t_thumb/hdxgs9nruycvrzcgvseu.jpg\"\n
\ },\n {\n \"id\": 24169,\n \"url\": \"//images.igdb.com/igdb/image/upload/t_thumb/ig9ainu9fershqdinox1.jpg\"\n
\ },\n {\n \"id\": 24170,\n \"url\": \"//images.igdb.com/igdb/image/upload/t_thumb/jz66se3deczeta6hd4ys.jpg\"\n
\ },\n {\n \"id\": 24171,\n \"url\": \"//images.igdb.com/igdb/image/upload/t_thumb/kjnf90jnud6njmwto3th.jpg\"\n
\ }\n ],\n \"similar_games\": [\n {\n \"id\": 358,\n
\ \"name\": \"Super Mario Bros.\"\n },\n {\n \"id\":
660,\n \"name\": \"Darkstone\"\n },\n {\n \"id\":
1026,\n \"name\": \"The Legend of Zelda: A Link to the Past\"\n },\n
\ {\n \"id\": 1035,\n \"name\": \"The Legend of Zelda: The
Minish Cap\"\n },\n {\n \"id\": 1068,\n \"name\":
\"Super Mario Bros. 3\"\n },\n {\n \"id\": 1280,\n \"name\":
\"Breath of Fire IV\"\n },\n {\n \"id\": 2148,\n \"name\":
\"Banjo-Kazooie\"\n },\n {\n \"id\": 3349,\n \"name\":
\"Paper Mario: The Thousand-Year Door\"\n },\n {\n \"id\":
3351,\n \"name\": \"Mario \\u0026 Luigi: Superstar Saga\"\n },\n
\ {\n \"id\": 22387,\n \"name\": \"Legrand Legacy\"\n }\n
\ ],\n \"slug\": \"paper-mario\",\n \"summary\": \"Paper Mario, a
turn-based JRPG entry in the Mario franchise with a paper-based aesthetic
and platforming elements, sees the titular character working his way through
the Mushroom Kingdom\\u0027s diverse locales and biomes, meeting its inhabitants,
fighthing unruly enemies and recruiting an array of companions in order to
once again save Princess Peach from the clutches of the evil Koopa King Bowser.\",\n
\ \"total_rating\": 88.63944908765737,\n \"language_supports\": [\n {\n
\ \"id\": 473450,\n \"language\": {\n \"id\": 3,\n \"name\":
\"Chinese (Traditional)\"\n }\n },\n {\n \"id\": 473451,\n
\ \"language\": {\n \"id\": 7,\n \"name\": \"English\"\n
\ }\n },\n {\n \"id\": 473452,\n \"language\":
{\n \"id\": 16,\n \"name\": \"Japanese\"\n }\n },\n
\ {\n \"id\": 492896,\n \"language\": {\n \"id\":
12,\n \"name\": \"French\"\n }\n },\n {\n \"id\":
492897,\n \"language\": {\n \"id\": 27,\n \"name\":
\"German\"\n }\n },\n {\n \"id\": 492898,\n \"language\":
{\n \"id\": 9,\n \"name\": \"Spanish (Spain)\"\n }\n
\ }\n ],\n \"collections\": [\n {\n \"id\": 240,\n \"name\":
\"Super Mario\"\n },\n {\n \"id\": 593,\n \"name\":
\"Paper Mario\"\n }\n ]\n }\n]"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850a6a953d2e248a-ZAG
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Length:
- '1538'
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:40 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=I3ULXMXIRc9niNoF9127GN_3tb_aWxph2N5i5_LrML8-1707128380-1-AfW1VNAvLTYI3QURGvTG83fjvlSRRa99K6dhpnpOS0pViyfEpSvsk2jxiAiKWWF+lsB8q8/savmBm7DaCBhr/34=;
path=/; expires=Mon, 05-Feb-24 10:49:40 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 c8710a117c1dfdaea4e9dfc4d41970d2.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- ftLhsJz_oLi5B0FNeIaHkyKYD3U8DNwYykc0593NuTl0XHnCDkXVBQ==
X-Amz-Cf-Pop:
- VIE50-C2
X-Cache:
- Miss from cloudfront
X-Content-Type-Options:
- nosniff
X-Count:
- '1'
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- SqFpZHWLvHcEEqA=
x-amzn-Remapped-Content-Length:
- '1538'
x-amzn-Remapped-Date:
- Mon, 05 Feb 2024 10:19:40 GMT
x-amzn-RequestId:
- 9d50d306-4874-4022-af53-561acccaebcf
status:
code: 200
message: OK
- request:
body: fields id,name,slug,summary,total_rating,aggregated_rating,genres.name,alternative_names.name,artworks.url,cover.url,screenshots.url,franchise.name,franchises.name,collections.name,expansions.name,expansions.slug,expansions.cover.url,expanded_games.name,expanded_games.cover.url,dlcs.name,dlcs.slug,dlcs.cover.url,remakes.name,remakes.cover.url,remasters.name,remasters.cover.url,involved_companies.company.name,platforms.name,first_release_date,game_modes.name,player_perspectives.name,ports.name,similar_games.name,language_supports.language.name,external_games.uid,external_games.category;
where id=-1; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer test_token
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- '616'
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/games
response:
body:
string: "{\n \"message\": \"Authorization Failure. Have you tried:\",\n \"Tip
1\": \"Ensure you are sending Authorization and Client-ID as headers.\",\n
\ \"Tip 2\": \"Ensure Authorization value starts with 'Bearer ', including
the space\",\n \"Tip 3\": \"Ensure Authorization value ends with the App
Access Token you generated, NOT your Client Secret.\",\n \"Docs\": \"https://api-docs.igdb.com/#authentication\",\n
\ \"Discord\": \"https://discord.gg/FrvfwQg\"\n}\n"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850a6a986dd36c85-ZAG
Connection:
- keep-alive
Content-Length:
- '437'
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:40 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=vWbMOoecKcFzu1pxWgKRUj2pC7f_ICwMPigG6vgpKFo-1707128380-1-AUt6CoXg6VpkhCmOf/kGjGXOHufqqUkmQpKQ83kCEhfx3Wd2GUlkYcmezfHtxdI1S5EdJvu/B2YTt6M2XxD8PnQ=;
path=/; expires=Mon, 05-Feb-24 10:49:40 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 4ca98b546b8d71c72caf6a3d8f75dc24.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- NIVmSftyAB5e8PNtAgeLb8_rzIBpT7_JInx8oV65go9Is7xuzmpBqA==
X-Amz-Cf-Pop:
- VIE50-C2
X-Cache:
- Error from cloudfront
X-Content-Type-Options:
- nosniff
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- SqFphGNKvHcEfAg=
x-amzn-ErrorType:
- AccessDeniedException
x-amzn-RequestId:
- a44b029e-591b-4eac-bb86-c787a013b33b
status:
code: 401
message: Unauthorized
- request:
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
Content-Length:
- '0'
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://id.twitch.tv/oauth2/token?client_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&client_secret=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&grant_type=client_credentials
response:
body:
string: '{"access_token":"97xbg8dxzst4sifbgrg6k4h0sy4sv2","expires_in":5647856,"token_type":"bearer"}
'
headers:
Access-Control-Allow-Origin:
- "*"
Connection:
- keep-alive
Content-Length:
- "93"
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:39 GMT
Server:
- nginx
X-Ctxlog-Logid:
- 1-65c0b63b-48f1d33821b48a24223cf595
status:
code: 200
message: OK
- request:
body:
fields id,name,slug,summary,total_rating,aggregated_rating,genres.name,alternative_names.name,artworks.url,cover.url,screenshots.url,franchise.name,franchises.name,collections.name,expansions.name,expansions.slug,expansions.cover.url,expanded_games.name,expanded_games.cover.url,dlcs.name,dlcs.slug,dlcs.cover.url,remakes.name,remakes.cover.url,remasters.name,remasters.cover.url,involved_companies.company.name,platforms.name,first_release_date,game_modes.name,player_perspectives.name,ports.name,similar_games.name,language_supports.language.name,external_games.uid,external_games.category;
where id=3340; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer ceo0skenysx8qxr7433zhovoa20ak2
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- "618"
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/games
response:
body:
string:
"[\n {\n \"id\": 3340,\n \"aggregated_rating\": 90.0,\n \"alternative_names\":
[\n {\n \"id\": 39105,\n \"name\": \"Zhi Pian Mario\"\n
\ },\n {\n \"id\": 51791,\n \"name\": \"\u30DE\u30EA\u30AA\u30B9\u30C8\u30FC\u30EA\u30FC\"\n
\ },\n {\n \"id\": 51792,\n \"name\": \"\u7EB8\u7247\u9A6C\u91CC\u5965\"\n
\ },\n {\n \"id\": 78718,\n \"name\": \"Mario Story\"\n
\ },\n {\n \"id\": 88088,\n \"name\": \"Super Mario
RPG 2\"\n },\n {\n \"id\": 119107,\n \"name\": \"\u7EB8\u7247\u9A6C\u529B\u6B27\"\n
\ },\n {\n \"id\": 137285,\n \"name\": \"\uD398\uC774\uD37C
\uB9C8\uB9AC\uC624\"\n }\n ],\n \"artworks\": [\n {\n \"id\":
73649,\n \"url\": \"//images.igdb.com/igdb/image/upload/t_thumb/ar1ktt.jpg\"\n
\ }\n ],\n \"cover\": {\n \"id\": 80830,\n \"url\": \"//images.igdb.com/igdb/image/upload/t_thumb/co1qda.jpg\"\n
\ },\n \"external_games\": [\n {\n \"id\": 138931,\n \"category\":
3,\n \"uid\": \"19929\"\n },\n {\n \"id\": 245769,\n
\ \"category\": 14,\n \"uid\": \"18231\"\n },\n {\n
\ \"id\": 1931441,\n \"category\": 20,\n \"uid\": \"B01BLAWHKI\"\n
\ },\n {\n \"id\": 1931588,\n \"category\": 20,\n \"uid\":
\"B003ZDOH3K\"\n },\n {\n \"id\": 1933352,\n \"category\":
20,\n \"uid\": \"B009LUDMJQ\"\n }\n ],\n \"first_release_date\":
965952000,\n \"franchises\": [\n {\n \"id\": 845,\n \"name\":
\"Mario\"\n }\n ],\n \"game_modes\": [\n {\n \"id\":
1,\n \"name\": \"Single player\"\n }\n ],\n \"genres\":
[\n {\n \"id\": 12,\n \"name\": \"Role-playing (RPG)\"\n
\ },\n {\n \"id\": 16,\n \"name\": \"Turn-based strategy
(TBS)\"\n },\n {\n \"id\": 31,\n \"name\": \"Adventure\"\n
\ }\n ],\n \"involved_companies\": [\n {\n \"id\": 148214,\n
\ \"company\": {\n \"id\": 70,\n \"name\": \"Nintendo\"\n
\ }\n },\n {\n \"id\": 148215,\n \"company\":
{\n \"id\": 765,\n \"name\": \"Intelligent Systems Co.,
Ltd.\"\n }\n },\n {\n \"id\": 225578,\n \"company\":
{\n \"id\": 5163,\n \"name\": \"iQue\"\n }\n },\n
\ {\n \"id\": 225579,\n \"company\": {\n \"id\":
812,\n \"name\": \"Gradiente\"\n }\n }\n ],\n \"name\":
\"Paper Mario\",\n \"platforms\": [\n {\n \"id\": 4,\n \"name\":
\"Nintendo 64\"\n },\n {\n \"id\": 5,\n \"name\":
\"Wii\"\n },\n {\n \"id\": 41,\n \"name\": \"Wii U\"\n
\ }\n ],\n \"player_perspectives\": [\n {\n \"id\":
2,\n \"name\": \"Third person\"\n },\n {\n \"id\":
4,\n \"name\": \"Side view\"\n }\n ],\n \"screenshots\":
[\n {\n \"id\": 24167,\n \"url\": \"//images.igdb.com/igdb/image/upload/t_thumb/a5r3k2lf3lgvifrycqeg.jpg\"\n
\ },\n {\n \"id\": 24168,\n \"url\": \"//images.igdb.com/igdb/image/upload/t_thumb/hdxgs9nruycvrzcgvseu.jpg\"\n
\ },\n {\n \"id\": 24169,\n \"url\": \"//images.igdb.com/igdb/image/upload/t_thumb/ig9ainu9fershqdinox1.jpg\"\n
\ },\n {\n \"id\": 24170,\n \"url\": \"//images.igdb.com/igdb/image/upload/t_thumb/jz66se3deczeta6hd4ys.jpg\"\n
\ },\n {\n \"id\": 24171,\n \"url\": \"//images.igdb.com/igdb/image/upload/t_thumb/kjnf90jnud6njmwto3th.jpg\"\n
\ }\n ],\n \"similar_games\": [\n {\n \"id\": 358,\n
\ \"name\": \"Super Mario Bros.\"\n },\n {\n \"id\":
660,\n \"name\": \"Darkstone\"\n },\n {\n \"id\":
1026,\n \"name\": \"The Legend of Zelda: A Link to the Past\"\n },\n
\ {\n \"id\": 1035,\n \"name\": \"The Legend of Zelda: The
Minish Cap\"\n },\n {\n \"id\": 1068,\n \"name\":
\"Super Mario Bros. 3\"\n },\n {\n \"id\": 1280,\n \"name\":
\"Breath of Fire IV\"\n },\n {\n \"id\": 2148,\n \"name\":
\"Banjo-Kazooie\"\n },\n {\n \"id\": 3349,\n \"name\":
\"Paper Mario: The Thousand-Year Door\"\n },\n {\n \"id\":
3351,\n \"name\": \"Mario \\u0026 Luigi: Superstar Saga\"\n },\n
\ {\n \"id\": 22387,\n \"name\": \"Legrand Legacy\"\n }\n
\ ],\n \"slug\": \"paper-mario\",\n \"summary\": \"Paper Mario, a
turn-based JRPG entry in the Mario franchise with a paper-based aesthetic
and platforming elements, sees the titular character working his way through
the Mushroom Kingdom\\u0027s diverse locales and biomes, meeting its inhabitants,
fighthing unruly enemies and recruiting an array of companions in order to
once again save Princess Peach from the clutches of the evil Koopa King Bowser.\",\n
\ \"total_rating\": 88.63944908765737,\n \"language_supports\": [\n {\n
\ \"id\": 473450,\n \"language\": {\n \"id\": 3,\n \"name\":
\"Chinese (Traditional)\"\n }\n },\n {\n \"id\": 473451,\n
\ \"language\": {\n \"id\": 7,\n \"name\": \"English\"\n
\ }\n },\n {\n \"id\": 473452,\n \"language\":
{\n \"id\": 16,\n \"name\": \"Japanese\"\n }\n },\n
\ {\n \"id\": 492896,\n \"language\": {\n \"id\":
12,\n \"name\": \"French\"\n }\n },\n {\n \"id\":
492897,\n \"language\": {\n \"id\": 27,\n \"name\":
\"German\"\n }\n },\n {\n \"id\": 492898,\n \"language\":
{\n \"id\": 9,\n \"name\": \"Spanish (Spain)\"\n }\n
\ }\n ],\n \"collections\": [\n {\n \"id\": 240,\n \"name\":
\"Super Mario\"\n },\n {\n \"id\": 593,\n \"name\":
\"Paper Mario\"\n }\n ]\n }\n]"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850a6a953d2e248a-ZAG
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Length:
- "1538"
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:40 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=I3ULXMXIRc9niNoF9127GN_3tb_aWxph2N5i5_LrML8-1707128380-1-AfW1VNAvLTYI3QURGvTG83fjvlSRRa99K6dhpnpOS0pViyfEpSvsk2jxiAiKWWF+lsB8q8/savmBm7DaCBhr/34=;
path=/; expires=Mon, 05-Feb-24 10:49:40 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 c8710a117c1dfdaea4e9dfc4d41970d2.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- ftLhsJz_oLi5B0FNeIaHkyKYD3U8DNwYykc0593NuTl0XHnCDkXVBQ==
X-Amz-Cf-Pop:
- VIE50-C2
X-Cache:
- Miss from cloudfront
X-Content-Type-Options:
- nosniff
X-Count:
- "1"
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- SqFpZHWLvHcEEqA=
x-amzn-Remapped-Content-Length:
- "1538"
x-amzn-Remapped-Date:
- Mon, 05 Feb 2024 10:19:40 GMT
x-amzn-RequestId:
- 9d50d306-4874-4022-af53-561acccaebcf
status:
code: 200
message: OK
- request:
body:
fields id,name,slug,summary,total_rating,aggregated_rating,genres.name,alternative_names.name,artworks.url,cover.url,screenshots.url,franchise.name,franchises.name,collections.name,expansions.name,expansions.slug,expansions.cover.url,expanded_games.name,expanded_games.cover.url,dlcs.name,dlcs.slug,dlcs.cover.url,remakes.name,remakes.cover.url,remasters.name,remasters.cover.url,involved_companies.company.name,platforms.name,first_release_date,game_modes.name,player_perspectives.name,ports.name,similar_games.name,language_supports.language.name,external_games.uid,external_games.category;
where id=-1; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer test_token
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- "616"
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/games
response:
body:
string:
"{\n \"message\": \"Authorization Failure. Have you tried:\",\n \"Tip
1\": \"Ensure you are sending Authorization and Client-ID as headers.\",\n
\ \"Tip 2\": \"Ensure Authorization value starts with 'Bearer ', including
the space\",\n \"Tip 3\": \"Ensure Authorization value ends with the App
Access Token you generated, NOT your Client Secret.\",\n \"Docs\": \"https://api-docs.igdb.com/#authentication\",\n
\ \"Discord\": \"https://discord.gg/FrvfwQg\"\n}\n"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850a6a986dd36c85-ZAG
Connection:
- keep-alive
Content-Length:
- "437"
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:40 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=vWbMOoecKcFzu1pxWgKRUj2pC7f_ICwMPigG6vgpKFo-1707128380-1-AUt6CoXg6VpkhCmOf/kGjGXOHufqqUkmQpKQ83kCEhfx3Wd2GUlkYcmezfHtxdI1S5EdJvu/B2YTt6M2XxD8PnQ=;
path=/; expires=Mon, 05-Feb-24 10:49:40 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 4ca98b546b8d71c72caf6a3d8f75dc24.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- NIVmSftyAB5e8PNtAgeLb8_rzIBpT7_JInx8oV65go9Is7xuzmpBqA==
X-Amz-Cf-Pop:
- VIE50-C2
X-Cache:
- Error from cloudfront
X-Content-Type-Options:
- nosniff
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- SqFphGNKvHcEfAg=
x-amzn-ErrorType:
- AccessDeniedException
x-amzn-RequestId:
- a44b029e-591b-4eac-bb86-c787a013b33b
status:
code: 401
message: Unauthorized
- request:
body: null
headers:
Accept:
- "*/*"
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
Content-Length:
- "0"
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://id.twitch.tv/oauth2/token?client_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&client_secret=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&grant_type=client_credentials
response:
body:
string:
'{"access_token":"97xbg8dxzst4sifbgrg6k4h0sy4sv2","expires_in":5647856,"token_type":"bearer"}
'
headers:
Access-Control-Allow-Origin:
- '*'
Connection:
- keep-alive
Content-Length:
- '93'
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:41 GMT
Server:
- nginx
X-Ctxlog-Logid:
- 1-65c0b63d-349b7d5762fd9bdf2dae9570
status:
code: 200
message: OK
- request:
body: fields id,name,slug,summary,total_rating,aggregated_rating,genres.name,alternative_names.name,artworks.url,cover.url,screenshots.url,franchise.name,franchises.name,collections.name,expansions.name,expansions.slug,expansions.cover.url,expanded_games.name,expanded_games.cover.url,dlcs.name,dlcs.slug,dlcs.cover.url,remakes.name,remakes.cover.url,remasters.name,remasters.cover.url,involved_companies.company.name,platforms.name,first_release_date,game_modes.name,player_perspectives.name,ports.name,similar_games.name,language_supports.language.name,external_games.uid,external_games.category;
where id=-1; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer 97xbg8dxzst4sifbgrg6k4h0sy4sv2
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- '616'
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/games
response:
body:
string: '[]'
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850a6aa46d29248a-ZAG
Connection:
- keep-alive
Content-Length:
- '2'
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:42 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=GBFFIgTMk119j.gLCnb7xhBRhJ7E3I1IwU6AhAEWVBI-1707128382-1-ARYE0aU8jHa5mcAGG1zqxoFza2uHyJTziSBFJPq4fb4PsXKUAmgCbn2HFubH4DQxWx5bDXH2nk0q+fw2lOYOAVY=;
path=/; expires=Mon, 05-Feb-24 10:49:42 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 c8710a117c1dfdaea4e9dfc4d41970d2.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- Xb4nOz10hCXyDhxzTn-oY-Orl6J6kscPVnWX_1pwj2mDjRNa6TGfaA==
X-Amz-Cf-Pop:
- VIE50-C2
X-Cache:
- Miss from cloudfront
X-Content-Type-Options:
- nosniff
X-Count:
- '0'
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- SqFp0HBaPHcEsDw=
x-amzn-Remapped-Content-Length:
- '2'
x-amzn-Remapped-Date:
- Mon, 05 Feb 2024 10:19:42 GMT
x-amzn-RequestId:
- 134a8022-0def-4111-9d61-5683fa7a89c2
status:
code: 200
message: OK
'
headers:
Access-Control-Allow-Origin:
- "*"
Connection:
- keep-alive
Content-Length:
- "93"
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:41 GMT
Server:
- nginx
X-Ctxlog-Logid:
- 1-65c0b63d-349b7d5762fd9bdf2dae9570
status:
code: 200
message: OK
- request:
body:
fields id,name,slug,summary,total_rating,aggregated_rating,genres.name,alternative_names.name,artworks.url,cover.url,screenshots.url,franchise.name,franchises.name,collections.name,expansions.name,expansions.slug,expansions.cover.url,expanded_games.name,expanded_games.cover.url,dlcs.name,dlcs.slug,dlcs.cover.url,remakes.name,remakes.cover.url,remasters.name,remasters.cover.url,involved_companies.company.name,platforms.name,first_release_date,game_modes.name,player_perspectives.name,ports.name,similar_games.name,language_supports.language.name,external_games.uid,external_games.category;
where id=-1; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer 97xbg8dxzst4sifbgrg6k4h0sy4sv2
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- "616"
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/games
response:
body:
string: "[]"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850a6aa46d29248a-ZAG
Connection:
- keep-alive
Content-Length:
- "2"
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 10:19:42 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=GBFFIgTMk119j.gLCnb7xhBRhJ7E3I1IwU6AhAEWVBI-1707128382-1-ARYE0aU8jHa5mcAGG1zqxoFza2uHyJTziSBFJPq4fb4PsXKUAmgCbn2HFubH4DQxWx5bDXH2nk0q+fw2lOYOAVY=;
path=/; expires=Mon, 05-Feb-24 10:49:42 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 c8710a117c1dfdaea4e9dfc4d41970d2.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- Xb4nOz10hCXyDhxzTn-oY-Orl6J6kscPVnWX_1pwj2mDjRNa6TGfaA==
X-Amz-Cf-Pop:
- VIE50-C2
X-Cache:
- Miss from cloudfront
X-Content-Type-Options:
- nosniff
X-Count:
- "0"
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- SqFp0HBaPHcEsDw=
x-amzn-Remapped-Content-Length:
- "2"
x-amzn-Remapped-Date:
- Mon, 05 Feb 2024 10:19:42 GMT
x-amzn-RequestId:
- 134a8022-0def-4111-9d61-5683fa7a89c2
status:
code: 200
message: OK
version: 1

View File

@@ -1,422 +1,426 @@
interactions:
- request:
body: fields id,name; where slug="n64"; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer test_token
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- '44'
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/platforms
response:
body:
string: "{\n \"message\": \"Authorization Failure. Have you tried:\",\n \"Tip
1\": \"Ensure you are sending Authorization and Client-ID as headers.\",\n
\ \"Tip 2\": \"Ensure Authorization value starts with 'Bearer ', including
the space\",\n \"Tip 3\": \"Ensure Authorization value ends with the App
Access Token you generated, NOT your Client Secret.\",\n \"Docs\": \"https://api-docs.igdb.com/#authentication\",\n
\ \"Discord\": \"https://discord.gg/FrvfwQg\"\n}\n"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850e7d75ba423a02-YYZ
Connection:
- keep-alive
Content-Length:
- '437'
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 22:11:36 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=oJVGIu0brKJuVE0BKpx.1so_VnawQae3ij9uFzCYybA-1707171096-1-AT5eT09m7O0LpfYIS9L/AnzSvfS1ALpickqM6ygDCWzs0eu2kArXvJq3F1ppPOlubKPh0tUBveDUHxS+sll4uQ4=;
path=/; expires=Mon, 05-Feb-24 22:41:36 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 94703ff6f88fa098310f25ad977e6604.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- QR3q4znAB4fPt33c6Zu_Xa1Wgscl15FyotWx5Pbo4KtjSfjaejkkhA==
X-Amz-Cf-Pop:
- YTO50-P1
X-Cache:
- Error from cloudfront
X-Content-Type-Options:
- nosniff
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- Srt7zFSKvHcErYw=
x-amzn-ErrorType:
- AccessDeniedException
x-amzn-RequestId:
- eef2214a-ef62-4ad5-ba35-d65ea42cecde
status:
code: 401
message: Unauthorized
- request:
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
Content-Length:
- '0'
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://id.twitch.tv/oauth2/token?client_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&client_secret=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&grant_type=client_credentials
response:
body:
string: '{"access_token":"13m8b1obi8ve00zv8pduri4gd1n45r","expires_in":5682731,"token_type":"bearer"}
- request:
body: fields id,name; where slug="n64"; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer test_token
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- "44"
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/platforms
response:
body:
string:
"{\n \"message\": \"Authorization Failure. Have you tried:\",\n \"Tip
1\": \"Ensure you are sending Authorization and Client-ID as headers.\",\n
\ \"Tip 2\": \"Ensure Authorization value starts with 'Bearer ', including
the space\",\n \"Tip 3\": \"Ensure Authorization value ends with the App
Access Token you generated, NOT your Client Secret.\",\n \"Docs\": \"https://api-docs.igdb.com/#authentication\",\n
\ \"Discord\": \"https://discord.gg/FrvfwQg\"\n}\n"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850e7d75ba423a02-YYZ
Connection:
- keep-alive
Content-Length:
- "437"
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 22:11:36 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=oJVGIu0brKJuVE0BKpx.1so_VnawQae3ij9uFzCYybA-1707171096-1-AT5eT09m7O0LpfYIS9L/AnzSvfS1ALpickqM6ygDCWzs0eu2kArXvJq3F1ppPOlubKPh0tUBveDUHxS+sll4uQ4=;
path=/; expires=Mon, 05-Feb-24 22:41:36 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 94703ff6f88fa098310f25ad977e6604.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- QR3q4znAB4fPt33c6Zu_Xa1Wgscl15FyotWx5Pbo4KtjSfjaejkkhA==
X-Amz-Cf-Pop:
- YTO50-P1
X-Cache:
- Error from cloudfront
X-Content-Type-Options:
- nosniff
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- Srt7zFSKvHcErYw=
x-amzn-ErrorType:
- AccessDeniedException
x-amzn-RequestId:
- eef2214a-ef62-4ad5-ba35-d65ea42cecde
status:
code: 401
message: Unauthorized
- request:
body: null
headers:
Accept:
- "*/*"
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
Content-Length:
- "0"
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://id.twitch.tv/oauth2/token?client_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&client_secret=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&grant_type=client_credentials
response:
body:
string:
'{"access_token":"13m8b1obi8ve00zv8pduri4gd1n45r","expires_in":5682731,"token_type":"bearer"}
'
headers:
Access-Control-Allow-Origin:
- '*'
Connection:
- keep-alive
Content-Length:
- '93'
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 22:11:36 GMT
Server:
- nginx
X-Ctxlog-Logid:
- 1-65c15d18-02acd31b248aeb7d6de50f3a
status:
code: 200
message: OK
- request:
body: fields id,name; where slug="n64"; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer 13m8b1obi8ve00zv8pduri4gd1n45r
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- '44'
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/platforms
response:
body:
string: "[\n {\n \"id\": 4,\n \"name\": \"Nintendo 64\"\n }\n]"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850e7d7c7ae136ce-YYZ
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 22:11:37 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=jYPkh5Y0FRpgKAgIHJeZb_H9lPVxi5AgOoDAf7sNuIw-1707171097-1-AY3wTF5YhyxksoQMdj+RY9TOxrlHYKtFlb6MG9FFaptTZ/xbiiVku5oX0EzcvQKWh6z4xbVXy4RTwcNOfYZvMV8=;
path=/; expires=Mon, 05-Feb-24 22:41:37 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Transfer-Encoding:
- chunked
Via:
- 1.1 94703ff6f88fa098310f25ad977e6604.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- VjR9w5mE0jIB8j6CdWuXFUeJcDviwgxn3mpMk-m0gFzLdopkU1hspg==
X-Amz-Cf-Pop:
- YTO50-P1
X-Cache:
- Miss from cloudfront
X-Content-Type-Options:
- nosniff
X-Count:
- '1'
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- Srt7-F5dvHcEsow=
x-amzn-Remapped-Content-Length:
- '50'
x-amzn-Remapped-Date:
- Mon, 05 Feb 2024 22:11:37 GMT
x-amzn-RequestId:
- bd9b9060-66aa-493d-a1e9-f216beeb2401
status:
code: 200
message: OK
- request:
body: fields id,name; where slug=""; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer test_token
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- '41'
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/platforms
response:
body:
string: "{\n \"message\": \"Authorization Failure. Have you tried:\",\n \"Tip
1\": \"Ensure you are sending Authorization and Client-ID as headers.\",\n
\ \"Tip 2\": \"Ensure Authorization value starts with 'Bearer ', including
the space\",\n \"Tip 3\": \"Ensure Authorization value ends with the App
Access Token you generated, NOT your Client Secret.\",\n \"Docs\": \"https://api-docs.igdb.com/#authentication\",\n
\ \"Discord\": \"https://discord.gg/FrvfwQg\"\n}\n"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850e7d7f8cab36bf-YYZ
Connection:
- keep-alive
Content-Length:
- '437'
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 22:11:37 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=FIsaNq9OAgSlkVDonzWFfKd5NFLASQfSS6kj049YuBI-1707171097-1-AVrlTqEI2F6g891fPHxT9Lx5zNXtPEnDvPSO+x1CUWXFqH1Y6ObVCteNkCGJXTy76x9L81pZW8zOFS/Y8V31W1E=;
path=/; expires=Mon, 05-Feb-24 22:41:37 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 412b0215b557780a6efcc1651037dc90.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- Hafl2_8iVWjdW5ZPdkVlIeIdnzp7bwsKoYsUZ8cfqkG-MLKAC2PtDQ==
X-Amz-Cf-Pop:
- YTO50-P1
X-Cache:
- Error from cloudfront
X-Content-Type-Options:
- nosniff
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- Srt8CFj-PHcEn9Q=
x-amzn-ErrorType:
- AccessDeniedException
x-amzn-RequestId:
- 73255887-5363-41dc-af66-b15907b17b19
status:
code: 401
message: Unauthorized
- request:
body: null
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
Content-Length:
- '0'
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://id.twitch.tv/oauth2/token?client_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&client_secret=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&grant_type=client_credentials
response:
body:
string: '{"access_token":"test_token","expires_in":5634464,"token_type":"bearer"}
'
headers:
Access-Control-Allow-Origin:
- "*"
Connection:
- keep-alive
Content-Length:
- "93"
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 22:11:36 GMT
Server:
- nginx
X-Ctxlog-Logid:
- 1-65c15d18-02acd31b248aeb7d6de50f3a
status:
code: 200
message: OK
- request:
body: fields id,name; where slug="n64"; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer 13m8b1obi8ve00zv8pduri4gd1n45r
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- "44"
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/platforms
response:
body:
string: "[\n {\n \"id\": 4,\n \"name\": \"Nintendo 64\"\n }\n]"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850e7d7c7ae136ce-YYZ
Connection:
- keep-alive
Content-Encoding:
- gzip
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 22:11:37 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=jYPkh5Y0FRpgKAgIHJeZb_H9lPVxi5AgOoDAf7sNuIw-1707171097-1-AY3wTF5YhyxksoQMdj+RY9TOxrlHYKtFlb6MG9FFaptTZ/xbiiVku5oX0EzcvQKWh6z4xbVXy4RTwcNOfYZvMV8=;
path=/; expires=Mon, 05-Feb-24 22:41:37 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Transfer-Encoding:
- chunked
Via:
- 1.1 94703ff6f88fa098310f25ad977e6604.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- VjR9w5mE0jIB8j6CdWuXFUeJcDviwgxn3mpMk-m0gFzLdopkU1hspg==
X-Amz-Cf-Pop:
- YTO50-P1
X-Cache:
- Miss from cloudfront
X-Content-Type-Options:
- nosniff
X-Count:
- "1"
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- Srt7-F5dvHcEsow=
x-amzn-Remapped-Content-Length:
- "50"
x-amzn-Remapped-Date:
- Mon, 05 Feb 2024 22:11:37 GMT
x-amzn-RequestId:
- bd9b9060-66aa-493d-a1e9-f216beeb2401
status:
code: 200
message: OK
- request:
body: fields id,name; where slug=""; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer test_token
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- "41"
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/platforms
response:
body:
string:
"{\n \"message\": \"Authorization Failure. Have you tried:\",\n \"Tip
1\": \"Ensure you are sending Authorization and Client-ID as headers.\",\n
\ \"Tip 2\": \"Ensure Authorization value starts with 'Bearer ', including
the space\",\n \"Tip 3\": \"Ensure Authorization value ends with the App
Access Token you generated, NOT your Client Secret.\",\n \"Docs\": \"https://api-docs.igdb.com/#authentication\",\n
\ \"Discord\": \"https://discord.gg/FrvfwQg\"\n}\n"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850e7d7f8cab36bf-YYZ
Connection:
- keep-alive
Content-Length:
- "437"
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 22:11:37 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=FIsaNq9OAgSlkVDonzWFfKd5NFLASQfSS6kj049YuBI-1707171097-1-AVrlTqEI2F6g891fPHxT9Lx5zNXtPEnDvPSO+x1CUWXFqH1Y6ObVCteNkCGJXTy76x9L81pZW8zOFS/Y8V31W1E=;
path=/; expires=Mon, 05-Feb-24 22:41:37 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 412b0215b557780a6efcc1651037dc90.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- Hafl2_8iVWjdW5ZPdkVlIeIdnzp7bwsKoYsUZ8cfqkG-MLKAC2PtDQ==
X-Amz-Cf-Pop:
- YTO50-P1
X-Cache:
- Error from cloudfront
X-Content-Type-Options:
- nosniff
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- Srt8CFj-PHcEn9Q=
x-amzn-ErrorType:
- AccessDeniedException
x-amzn-RequestId:
- 73255887-5363-41dc-af66-b15907b17b19
status:
code: 401
message: Unauthorized
- request:
body: null
headers:
Accept:
- "*/*"
Accept-Encoding:
- gzip, deflate
Connection:
- keep-alive
Content-Length:
- "0"
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://id.twitch.tv/oauth2/token?client_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&client_secret=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&grant_type=client_credentials
response:
body:
string:
'{"access_token":"test_token","expires_in":5634464,"token_type":"bearer"}
'
headers:
Access-Control-Allow-Origin:
- '*'
Connection:
- keep-alive
Content-Length:
- '93'
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 22:11:38 GMT
Server:
- nginx
X-Ctxlog-Logid:
- 1-65c15d1a-7e07618d6ecb6d9f299693f9
status:
code: 200
message: OK
- request:
body: fields id,name; where slug=""; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer test_token
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- '41'
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/platforms
response:
body:
string: '[]'
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850e7d857b2636ab-YYZ
Connection:
- keep-alive
Content-Length:
- '2'
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 22:11:38 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=XmyXzOZ7POKzWV6t0.WlDkuSCRHC0Lnj5lyEya4K1lQ-1707171098-1-Affl2D1K3qrT3IkzIngyyYCO35u8mIJjnCZrc36bewiXnamleRrw2MXoNTPeI8RXd60RrrC6eN+T5s9gKabOxlE=;
path=/; expires=Mon, 05-Feb-24 22:41:38 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 7b1e72110677f4b48715a174a0db9206.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- rYRf1xKkE8Rc7aBAZXikMc1Mr_xZWlrNWRdD3hRDg3dWR_P852Oiaw==
X-Amz-Cf-Pop:
- YUL62-C2
X-Cache:
- Miss from cloudfront
X-Content-Type-Options:
- nosniff
X-Count:
- '0'
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- Srt8NG5wvHcEaWQ=
x-amzn-Remapped-Content-Length:
- '2'
x-amzn-Remapped-Date:
- Mon, 05 Feb 2024 22:11:38 GMT
x-amzn-RequestId:
- 50870681-58a3-4302-a59e-22c5023019d7
status:
code: 200
message: OK
- request:
body: fields id,name; where slug=""; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer test_token
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- '41'
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/platform_versions
response:
body:
string: '[]'
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850e7d887dcf36c3-YYZ
Connection:
- keep-alive
Content-Length:
- '2'
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 22:11:39 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=KJW068gtAzOENIlHho8tR28WLTCR5zxCEaE0E8T4fA4-1707171099-1-AQKyK75UNatRNQUHiKKN7HevGXpMMci7dauESYVdTIIGwrtEjb3mYGJmT9FWjH5a9sUBS+Y+Ocf1a53N5fLRbB0=;
path=/; expires=Mon, 05-Feb-24 22:41:39 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 94703ff6f88fa098310f25ad977e6604.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- qrHG_P0obyDnH0akt5hdYaEM2ykcETfZ2PGX3LZh7qF1xl4un_CHhA==
X-Amz-Cf-Pop:
- YTO50-P1
X-Cache:
- Miss from cloudfront
X-Content-Type-Options:
- nosniff
X-Count:
- '0'
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- Srt8SHCnvHcEMiQ=
x-amzn-Remapped-Content-Length:
- '2'
x-amzn-Remapped-Date:
- Mon, 05 Feb 2024 22:11:39 GMT
x-amzn-RequestId:
- 44818aaa-eb7f-42b1-ad66-3566ed5134e0
status:
code: 200
message: OK
'
headers:
Access-Control-Allow-Origin:
- "*"
Connection:
- keep-alive
Content-Length:
- "93"
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 22:11:38 GMT
Server:
- nginx
X-Ctxlog-Logid:
- 1-65c15d1a-7e07618d6ecb6d9f299693f9
status:
code: 200
message: OK
- request:
body: fields id,name; where slug=""; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer test_token
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- "41"
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/platforms
response:
body:
string: "[]"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850e7d857b2636ab-YYZ
Connection:
- keep-alive
Content-Length:
- "2"
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 22:11:38 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=XmyXzOZ7POKzWV6t0.WlDkuSCRHC0Lnj5lyEya4K1lQ-1707171098-1-Affl2D1K3qrT3IkzIngyyYCO35u8mIJjnCZrc36bewiXnamleRrw2MXoNTPeI8RXd60RrrC6eN+T5s9gKabOxlE=;
path=/; expires=Mon, 05-Feb-24 22:41:38 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 7b1e72110677f4b48715a174a0db9206.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- rYRf1xKkE8Rc7aBAZXikMc1Mr_xZWlrNWRdD3hRDg3dWR_P852Oiaw==
X-Amz-Cf-Pop:
- YUL62-C2
X-Cache:
- Miss from cloudfront
X-Content-Type-Options:
- nosniff
X-Count:
- "0"
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- Srt8NG5wvHcEaWQ=
x-amzn-Remapped-Content-Length:
- "2"
x-amzn-Remapped-Date:
- Mon, 05 Feb 2024 22:11:38 GMT
x-amzn-RequestId:
- 50870681-58a3-4302-a59e-22c5023019d7
status:
code: 200
message: OK
- request:
body: fields id,name; where slug=""; limit 200;
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
Authorization:
- Bearer test_token
Client-ID:
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Connection:
- keep-alive
Content-Length:
- "41"
User-Agent:
- python-requests/2.31.0
method: POST
uri: https://api.igdb.com/v4/platform_versions
response:
body:
string: "[]"
headers:
CF-Cache-Status:
- DYNAMIC
CF-RAY:
- 850e7d887dcf36c3-YYZ
Connection:
- keep-alive
Content-Length:
- "2"
Content-Type:
- application/json
Date:
- Mon, 05 Feb 2024 22:11:39 GMT
Server:
- cloudflare
Set-Cookie:
- __cf_bm=KJW068gtAzOENIlHho8tR28WLTCR5zxCEaE0E8T4fA4-1707171099-1-AQKyK75UNatRNQUHiKKN7HevGXpMMci7dauESYVdTIIGwrtEjb3mYGJmT9FWjH5a9sUBS+Y+Ocf1a53N5fLRbB0=;
path=/; expires=Mon, 05-Feb-24 22:41:39 GMT; domain=.igdb.com; HttpOnly; Secure;
SameSite=None
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Via:
- 1.1 94703ff6f88fa098310f25ad977e6604.cloudfront.net (CloudFront)
X-Amz-Cf-Id:
- qrHG_P0obyDnH0akt5hdYaEM2ykcETfZ2PGX3LZh7qF1xl4un_CHhA==
X-Amz-Cf-Pop:
- YTO50-P1
X-Cache:
- Miss from cloudfront
X-Content-Type-Options:
- nosniff
X-Count:
- "0"
alt-svc:
- h3=":443"; ma=86400
x-amz-apigw-id:
- Srt8SHCnvHcEMiQ=
x-amzn-Remapped-Content-Length:
- "2"
x-amzn-Remapped-Date:
- Mon, 05 Feb 2024 22:11:39 GMT
x-amzn-RequestId:
- 44818aaa-eb7f-42b1-ad66-3566ed5134e0
status:
code: 200
message: OK
version: 1

Some files were not shown because too many files have changed in this diff Show More