Commit graph

41 commits

Author SHA1 Message Date
Chris
1b4dc5361c Set REST response status to statuses defined by returned REST objects
Closes #2189
2020-12-23 00:26:18 +10:30
Chris
9423febd0a Refactor for new configuration 2020-12-03 17:43:10 +10:30
Lucas Nicodemus
70dd72443d Update copyright to 2019 again
Fixes #1658, most likely.
2019-03-29 17:16:37 -07:00
Lucas Nicodemus
569b350cea Update to Pryaxis, 2018 part 2
If there's one thing I learned in this exercise, it's that letting
people add random python scripts to the repo like gpltext.py that
promise to be easier than find and replace is a bad idea.
2018-01-01 02:20:56 -07:00
Lucas Nicodemus
656c9afdb2 Remove obsolete Rest event. 2017-12-26 20:03:36 -07:00
Lucas Nicodemus
3a59280834 Pre-initialize TShock hooks for Register method
Hooks have this fancy .Register method when they're of type
HandlerList<Args> that high made but we never bother to initialize
any of them, so .Register doesn't work because it's null.

This solves that problem by just initializing all handlers. Thus,
.Register works, and thus, you can register hooks with priorities.
2017-12-20 12:35:42 -07:00
White
c4a3a9fb67 Updated Copyright for 2017 2017-03-13 12:17:16 +10:30
White
e3a8112b5b REST updates.
Rest.cs got a lot of commenting at last.
Redirects and upgrades can now be easily added for REST routes via the `Rest.RegisterRedirect(base, target, upgrade)` method.
Redirects added for all routes. Upgrades added for `/world/bloodmoon` and `/v2/world/autosave`, as they both use old-style REST verbs.
2017-02-02 14:28:35 +10:30
Adilson Carvalho
49b4effe74 Changed year to 2016 on all GPL headers 2016-10-16 17:06:02 -02:00
George
09a8f95a70 Added rate limiting to RESTful API
Added token bucket and timer to degrade token bucket

Modified REST API rate limiting

Changed limiting to only be on token create and v2 token create
Added config options to choose time limits
Passed HttpContext to the execute method of endpoints

Made blocking failed API logins optional

Changed error codes on failed login to be ambiguous
Added config to decide whether all or failed logins are limited

Changed config variable names

Cleaned up duplicate code in REST rate limiting

Fixed my typo

Changed error 431 to 403
2015-09-24 15:47:46 +01:00
Patrikk
4f914fc4c9 Adding exception at used REST port problem 2015-07-06 12:36:48 +01:00
Lucas Nicodemus
c6fdd89148 Remove 'ass' and unused 'appName' for 'assembly' 💩 2015-04-13 00:00:55 -06:00
Lucas Nicodemus
417ffbc740 Updated XML documentation for several methods 2015-04-12 23:39:04 -06:00
Lucas Nicodemus
cbce64f1eb Remove more obsolete code; fix tab/space screwup in TSPlayer 2015-02-28 19:37:06 -07:00
Zack
68afd6fcc6 Make sure to write the correct number of bytes, as UTF8 can and most likely will be more than one byte per char.
Fixes #863
2015-02-22 16:07:59 -05:00
Zack
f8a513d9da Change output of REST to UTF8, which is what Terraria uses behind the scenes. Also changed content type to include the encoding. Fixes #858 2015-02-21 19:00:57 -05:00
Zack
f9bf470b1d Tick version and update copyright 2015-01-28 15:29:13 -05:00
Zack
62108ecd63 Allow rest request handlers access to the request object itself, to allow the plugin more information on who is making the request. Refactored the args for Rest commands to just one delegate, that takes a RestRequestArgs which has verbs, params, request, and tokenData. 2014-08-23 16:08:18 -04:00
Zack
fb451c6d49 Update license header for 2014 2014-07-10 21:48:33 -04:00
Zack Piispanen
811a98bb4c Added Config option for Rest spam. 2013-10-01 01:06:41 -04:00
Lucas Nicodemus
dd05c524ec Merge branch 'master' into general-devel 2013-09-15 15:24:15 -06:00
Lucas Nicodemus
ae7ab5f234 Updated copyright information to point to 2013. 2013-08-22 21:51:17 -06:00
Lucas Nicodemus
9470e20423 Line ending normalization to CRLF (Windows) 2013-08-22 21:17:32 -06:00
CoderCow
abeddd4c07 Minor improvements. 2013-08-02 13:01:17 +02:00
CoderCow
9a40c81b49 Fixed all REST endpoints to use RestObjects instead of Dictionaries. 2013-08-02 13:01:06 +02:00
CoderCow
580010c478 -Added "/v2/server/rules" and "/v2/server/motd" endpoints.
-Minor REST fixes.
2013-07-25 23:58:53 +02:00
CoderCow
0ea83746cf -Added REST per-endpoint permissions.
-Added REST endpoint "/v2/server/restart".
-Added REST endpoint "/v2/server/reload".
-Added REST endpoint "/v3/server/rawcmd", will output all returned lines as an array instead.
-Added "uptime", "serverpassword", "rules/ServerSideInventory" fields to REST endpoint "/v2/server/status".
-REST requests are now logged.
-Endpoint "/v2/server/rawcmd" does now check whether the user has the sufficient permission to execute the command.
-Fixed Config.EnableTokenEndpointAuthentication not working properly before.
-Removed obsolete "api" permission (only "restapi" now).
2013-07-25 19:52:12 +02:00
Scavenger3
074d3142dd [Rest] Add support for jsonp 2012-11-25 22:26:01 +10:00
Lucas Nicodemus
8d5cdf04a8 Update copyright to reflect actual year date. 2012-04-24 12:45:46 -06:00
stevenh
0108795f27 Fixed broken Content-Type header, was adding to text/html instead of replacing it
Added Server header to RestAPI responses
2012-02-16 11:14:52 +00:00
Lucas Nicodemus
6cb6e19f23 REST endpoint /lists/bans is now /v2/lists/bans
Added REST endpoint /v2/lists/players - JSON list of players
Deprecated REST endpoint /lists/players
2012-02-09 22:43:54 -07:00
Lucas Nicodemus
264e633202 TSHOCKPLUGINS-2 #resolve #comment Added. 2012-01-03 15:29:36 -07:00
Lucas Nicodemus
5d61a56fcd Add new REST endpoint:
- /v2/token/password?username={user}

TSHOCKPLUGINS-1 #resolve #time 5m #comment Deprecating old token create syntax, new endpoint added as a replacement.
2012-01-03 15:18:05 -07:00
Lucas Nicodemus
bf9d0137f1 Added any missing license headers to all files 2012-01-01 03:06:48 -07:00
Lucas Nicodemus
eea309281a Added a disabled RestRequestEvent hook 2012-01-01 02:30:49 -07:00
Lucas Nicodemus
c6abbfe4d2 ReSharper code reformat to match naming conventions and stuff 2011-12-30 14:38:04 -07:00
high
310c1b2fbf Fixed rest Dispose(bool) 2011-09-05 15:27:42 -04:00
high
7ae6910853 Endpoint registering '/ep' will no longer match '/ep/x'.
Trailing slashes removed. So '/ep/' will become '/ep'.
2011-09-05 15:06:08 -04:00
high
4b694c0c31 Moved classes out of Rest.cs into their own files. 2011-09-05 14:15:46 -04:00
high
b7fd7f1953 Merge branch 'general-devel-rest' of github.com:TShock/TShock into general-devel-rest 2011-09-05 14:12:59 -04:00
Lucas Nicodemus
f87ff40260 Moved rest files around a bit 2011-09-05 12:09:23 -06:00
Renamed from TShockAPI/Rest.cs (Browse further)