Commit Graph
173 Commits
Author SHA1 Message Date
jomo 15a4f17560 add rate limit option for sessionserver
any outgoing requests to the sessionserver
that would exceed the configured rate limit are skipped
to prevent being blocked by CloudFront

if a texture hash is cached but outdated, the cache ttl will be bumped
as if the request succeeded, in order to lower requests in the near future
2020-03-29 07:43:23 +02:00
jomo c975cc793b remove cleaner.js 2020-03-24 18:49:42 +01:00
jomo 168457dfd9 update to node 12 2020-03-21 01:50:50 +01:00
jomo 1816b18b12 update deps 2018-02-16 18:45:56 +01:00
jomo dff58c66e7 drop support for usernames
Mojang has disabled their legacy skins API:
https://twitter.com/MojangSupport/status/964511258601865216

With their API rate limits, it's now practially impossible
for us to support usernames.

Fixes #142. The default parameter allows using:

- UUID
- URL
- MHF_Alex
- MHF_Steve
- Alex
- Steve

Contrary to UUIDs, using alex/steve doesn't redirect
and instead provides the skin from a locally stored file.
2018-02-16 18:01:41 +01:00
jomo a25e01922e fix cape test
jeb_ no longer has a cape:

{
  "id": "853c80ef3c3749fdaa49938b674adae6",
  "name": "jeb_",
  "properties": [
    {
      "name": "textures",
      "value": "eyJ0aW1lc3RhbXAiOjE0OTk5MDMzNDY3NTQsInByb2ZpbGVJZCI6Ijg1M2M4MGVmM2MzNzQ5ZmRhYTQ5OTM4YjY3NGFkYWU2IiwicHJvZmlsZU5hbWUiOiJqZWJfIiwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2E4NDZiODI5NjM5MjRjYjEzMjExMTIyNDg5MjYzOTQxZDE0MDM2ODlmOTAxNTExMjBkNTIzNGJlNGE3M2ZiIn19fQ=="
    }
  ]
}

{
  "timestamp": 1499903346754,
  "profileId": "853c80ef3c3749fdaa49938b674adae6",
  "profileName": "jeb_",
  "textures": {
    "SKIN": {
      "url": "http://textures.minecraft.net/texture/a846b82963924cb13211122489263941d1403689f90151120d5234be4a73fb"
    }
  }
}
2017-07-13 12:49:09 +02:00
jomo c02d3d33e9 don't respond with 304 on error when debugging is enabled 2016-11-07 04:08:19 +01:00
jomo 6f1c414a4a accept ESOCKETTIMEDOUT as possible timeout error
seems to be a race condition which one is thrown (?)
2016-11-04 16:48:13 +01:00
jomo f7b8fd4e8c fix rate-limiting tests
Mojang is now rate-limiting calls to their sessionserver case-insensitive.

This fix skips network-based tests for an upper-cased UUID which are previously
run with the same lower-cased UUID
2016-11-03 21:52:00 +01:00
jomo f0b73b34d1 test code style: add trailing commas 2016-11-03 21:26:35 +01:00
jomo 1d9176711f get rid of some test log spam 2016-11-03 21:25:13 +01:00
jomo 688a34029c wait for redis connection before running tests 2016-11-03 21:19:28 +01:00
jomo cbe2b25835 add test for empty username 2016-11-03 21:14:32 +01:00
jomo 6594200500 Mojang updated all capes, fix tests 2016-02-07 21:06:06 +01:00
jomo 183e8cfa9c fix tests for f088c27012 2016-02-03 03:00:03 +01:00
jomo 29fa734148 remove 'public' part from Cache-Control, not required 2016-01-23 06:26:41 +01:00
jomo 4f667cc99f remove transparency from avatar, fixes #129 2016-01-20 23:44:33 +01:00
jomo e7242ce773 respond 304 on server error, fixes #135 2016-01-20 01:50:30 +01:00
jomo 74ba828701 add test for uuid -> username skin type update 2016-01-20 01:17:36 +01:00
jomo 1144b6755a always use crc32 for etag, much more reliable than mojang skin hash
had to make quite a few changes to tests to prevent them from failing
also, etag is now only sent with a 200 response, as defined in RFC7232
2015-12-16 00:47:51 +01:00
jomo caeb9a52fe verbose logging on travis 2015-12-15 21:09:13 +01:00
jomo 5cb20b1105 add more crc values to tests 2015-12-14 01:59:32 +01:00
jomo 7d02138c1e solve merge conflicts 2015-12-14 01:51:49 +01:00
jomo 3c21a59c94 add support for slim renders, fixes #125, adjust tests 2015-12-13 14:08:59 +01:00
jomo fb0c70d648 return HTTPERROR on 429 or 5xx, fixes #151
otherwise 429 or 5xx would be overwriting cached value with null for $config minutes
2015-10-21 01:02:57 +02:00
jomo d307aec221 rename helm to overlay, fixes #127 2015-10-18 15:11:17 +02:00
jomo b0f50cbed0 print base64 encoded body if CRC does not match 2015-10-13 00:51:03 +02:00
jomo 8b2ccf3368 add new CRC checksums
updated OS X + cairo, so obviously the checksums change, right? right??
2015-10-13 00:50:25 +02:00
jomo 7714e0e0ef add case sensitive default URL tests, so 06caf589ab won't happen again 2015-09-30 21:06:16 +02:00
jomo ecfec6a407 use MHF_Steve and MHF_Alex instead of steve and alex in default parameter
See #142 (not fixed by this commit!)
Basically, this just adds mhf_steve and mhf_alex as special cases for the default parameter only
2015-09-30 00:38:32 +02:00
jomo c8d74d47be avoid reserved property names (+ test), fixes #145 2015-09-25 19:24:56 +02:00
jomo a15cb20144 TooManyRequestsException shouldn't actually throw an error
all other errors thrown here are network issues, this is not.
2015-09-20 21:43:12 +02:00
jomo 9cdca6acda don't throw strings 2015-09-20 21:28:43 +02:00
jomo 6a630f23b9 add new test CRCs for @6d12ed6 2015-09-06 00:47:17 +02:00
jomo 3a61e15abf various networking.js improvements
- cleaned up some messy if/else code, replaced with nicely readable switch/case
- catch JSON.parse errors
2015-08-31 00:10:35 +02:00
jomo 755cc74170 don't update file dates
this was originally implemented because we wanted to delete the oldest images on disk
where 'oldest' means not *used* for the longest time

that's not useful and was never actually implemented, so we don't need this
2015-08-30 04:48:50 +02:00
jomo 607dcaf6e5 use status -2 for 404s
human_status (response.js) defines code -2 as 'user error'. 404 is definitely a user error, so using that makes sense.
eventually we should change the whole status code thing with #120
2015-07-17 10:09:34 +02:00
Jake b1cdf61e4b Change invalid request path to be a 404 rather than 422, implement status id in response module 2015-07-16 17:48:48 -05:00
Jake 7e8c65fb33 Add tests for invalid URL paths, closes #123 2015-07-16 17:31:20 -05:00
jomo 72840433cb use proper URL encoding in tests 2015-06-25 21:55:23 +02:00
jomo d56b10955e add tests for uuid defaults, #115 2015-06-25 21:46:14 +02:00
jomo 8c022e5cb6 'useranme' 2015-06-25 21:34:15 +02:00
jomo f9b7ffb5b7 fix redirection test 2015-06-25 21:33:47 +02:00
jomo 34f94bf9b5 get rid of redundant config names #124 2015-06-25 21:19:50 +02:00
Jake a2e0edc491 Namespace and move config to root directory, closes #124 2015-06-25 13:12:08 -05:00
Jake d2ab7b87ad Fix tests with new default code 2015-06-24 15:08:05 -05:00
Jake 8c39d0c017 Add support for userIds as defaults, ccloses #115 2015-06-24 01:23:22 -05:00
jomo 288657107e actually store the skin in store_skin, fixes #108; pipe skins & capes through lwip before saving, fixes #121 2015-05-28 01:32:29 +02:00
jomo 679e72759a fix test for TooManyRequests 2015-05-28 01:05:24 +02:00
jomo 0ec97e9ba1 add alternative checksum for mojang capes 2015-05-28 00:52:26 +02:00