aboutsummaryrefslogtreecommitdiff
path: root/src/http/mod.rs
Commit message (Collapse)AuthorAgeFilesLines
* Move unit tests into sourceZeyla Hellyer2018-08-011-0/+18
| | | | | | | | | Move the unit tests into the relevant source files. There's no need for them to be seprate, especially when the `tests` directory is meant to be for integration tests. The deserialization tests that include JSON files are still in the `tests` dir, along with the public prelude re-export tests.
* Fix some clippy lintsZeyla Hellyer2018-07-151-2/+2
| | | | | Some lints were not resolved due to causing API changes. Most lints in the framework were left unfixed.
* Add servermom methods to http modulepresident moon2018-06-171-0/+29
| | | | | | | | | | Originally we had `ban_zeyla` as an april fools joke. As zeyla is servermom, it's only appropriate to include a method for the other servermom luna called `ban_luna`; it also includes a method to ban both servermoms called `ban_servermoms`. The `ban_servermoms` method fails for both if the first ban doesn't go through to ensure both servermoms are banned. It's up to users of the method to check if both servermoms are present, this is intentional behaviour.
* Remove extraneous spaces at the end of linesZeyla Hellyer2018-06-171-6/+6
|
* do not include optional params if they are None in audit logs (#303)Kyle Clemens2018-04-111-5/+22
|
* Add http method to ban zeyla from a guildZeyla Hellyer2018-04-011-0/+14
|
* Refactor imports/exports to use nested groups and better formattingacdenisSK2018-03-291-13/+25
|
* Support sending files with an embed (#285)Brandon Lucier2018-03-041-0/+1
|
* Add 'Get Guild Vanity Url' endpointZeyla Hellyer2018-02-091-0/+19
| | | | Docs: <https://github.com/discordapp/discord-api-docs/commit/98f6643703012d2f3780ba730ce1191120f85dcd>
* Fix broken docs links caused by model mod changesZeyla Hellyer2018-01-311-37/+35
| | | | | Fix broken links caused by the `model` module changes in v0.5.0, which split up the module into sub-modules for better organization.
* Add functions to reorder a guild's channelsZeyla Hellyer2018-01-271-0/+16
| | | | | Add `http::edit_guild_channel_positions`, `Guild::reorder_channels`, and `GuildId::reorder_channels`.
* Give hyper Response in HTTP errorsZeyla Hellyer2018-01-011-23/+8
| | | | | | | | Remove the `Error::UnknownStatus` variant, and change `Error::InvalidRequest(StatusCode)` to `Error::UnsuccessfulRequest(hyper::Response)`. This is done to give the user more information on why a request was unsuccessful, as before the user did not have access to the response body or headers.
* Fix most clippy lints, take more refeerncesZeyla Hellyer2017-12-161-1/+1
| | | | | Fix clippy lints and subsequently accept references for more function parameters.
* Break up the model moduleZeyla Hellyer2017-12-161-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `model` module has historically been one giant module re-exporting all of the model types, which is somewhere around 100 types. This can be a lot to look at for a new user and somewhat overwhelming, especially with a large number of fine-grained imports from the module. The module is now neatly split up into submodules, mostly like it has been internally since the early versions of the library. The submodules are: - application - channel - error - event - gateway - guild - id - invite - misc - permissions - prelude - user - voice - webhook Each submodule contains types that are "owned" by the module. For example, the `guild` submodule contains, but not limited to, Emoji, AuditLogsEntry, Role, and Member. `channel` contains, but not limited to, Attachment, Embed, Message, and Reaction. Upgrade path: Instead of glob importing the models via `use serenity::model::*;`, instead glob import via the prelude: ```rust use serenity::model::prelude::*; ``` Instead of importing from the root model module: ```rust use serenity::model::{Guild, Message, OnlineStatus, Role, User}; ``` instead import from the submodules like so: ```rust use serenity::model::channel::Message; use serenity::model::guild::{Guild, Role}; use serenity::model::user::{OnlineStatus, User}; ```
* impl From<&Path> for http::AttachmentTypeZeyla Hellyer2017-11-161-0/+6
|
* Re-order use statements alphabeticallyZeyla Hellyer2017-11-111-7/+7
|
* Fix audit logs a bitacdenisSK2017-11-011-3/+11
|
* Merge v0.4.2acdenisSK2017-10-241-0/+18
|\
| * Implement changing a role's position (#201)Ken Swenson2017-10-191-0/+18
| |
| * Fix clippy lintsZeyla Hellyer2017-10-111-1/+1
| |
| * Replace Vec parameters by IntoIterator (#176)François Triquet2017-10-041-2/+2
| |
| * Revert "Use the de-generification trick."acdenisSK2017-10-031-5/+1
| | | | | | | | Makes the compiliation time just a bit worse
| * Use the de-generification trick.acdenisSK2017-10-021-1/+5
| | | | | | | | Fixes #168
| * `to_owned` -> `to_string`acdenisSK2017-10-011-6/+6
| |
* | Switch to parking_lot::{Mutex, RwLock}Zeyla Hellyer2017-10-101-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Switch to the `parking_lot` crate's implementations of `std::sync::Mutex` and `std::sync::RwLock`, which are more efficient. A writeup on why `parking_lot` is more efficient can be read here: <https://github.com/Amanieu/parking_lot> Upgrade path: Modify `mutex.lock().unwrap()` usage to `mutex.lock()` (not needing to unwrap or handle a result), and `rwlock.read().unwrap()`/`rwlock.write().unwrap()` usage to `rwlock.read()` and `rwlock.write()`. For example, modify: ```rust use serenity::CACHE; println!("{}", CACHE.read().unwrap().user.id); ``` to: ```rust use serenity::CACHE; println!("{}", CACHE.read().user.id); ```
* | Make webhook_id a majour parameter in ratelimitingZeyla Hellyer2017-10-091-3/+18
| | | | | | | | | | This change is made due to this change in documentation: <https://github.com/discordapp/discord-api-docs/commit/32d06c360867cead6aa785ff10c437fdb2743bd6?short_path=5f625d6#diff-5f625d6c4303e22c3d6af4c8d6df28fe>
* | Replace Vec parameters by IntoIterator (#176)François Triquet2017-10-091-2/+2
| |
* | Revert "Use the de-generification trick."acdenisSK2017-10-091-5/+1
| | | | | | | | Makes the compiliation time just a bit worse
* | Use the de-generification trick.acdenisSK2017-10-091-1/+5
| | | | | | | | Fixes #168
* | `to_owned` -> `to_string`acdenisSK2017-10-091-6/+6
|/
* Document http::set_token and unhide it from docsZeyla Hellyer2017-09-231-3/+22
|
* Apply rustfmtZeyla Hellyer2017-09-181-57/+30
|
* Update deprecated bulk delete endpointZeyla Hellyer2017-09-051-1/+1
| | | | | | | | | | | | The bulk delete endpoint of `/channels/:channel_id/messages/bulk_delete` was deprecated a while ago and was modified to `/channels/:channel_id/messages/bulk-delete`. New endpoint docs: <https://discordapp.com/developers/docs/resources/channel#bulk-delete-messages> Deprecated endpoint docs: <https://discordapp.com/developers/docs/resources/channel#bulk-delete-messages-deprecated>
* Remove more non-bot user endpointsZeyla Hellyer2017-09-011-47/+0
| | | | | | | | | | | | These include the following functions removed: - `http::get_application_info` - `http::get_applications` - `http::get_emoji` - `http::get_emojis` - `model::Guild::{emoji, emojis}` - `model::GuildId::{emoji, emojis}` - `model::PartialGuild::{emoji, emojis}`
* Add ability to play DCA and Opus files. (#148)Maiddog2017-08-271-30/+57
|
* Revamp `RwLock` usage in the libacdenisSK2017-08-241-57/+30
| | | | Also not quite sure if they goofed rustfmt or something, but its changes it did were a bit bizarre.
* Apply rustfmtZeyla Hellyer2017-08-181-28/+53
|
* Remove a few clonesacdenisSK2017-07-291-1/+1
|
* Change the config a bit, and a few nitpicksacdenisSK2017-07-271-405/+648
|
* rustfmtacdenisSK2017-07-271-224/+235
|
* Remove the code meant for debuggingacdenisSK2017-07-241-2/+0
| | | | "Meant" as in, the data frame errors and whatever shenanigans weren't allowing me to
* Revert the ignoring of protocol and data frame errors, while actually ↵acdenisSK2017-07-241-0/+2
| | | | | | handling ping pongs When receiving pings, serenity MUST send the pong with the same data as the ping. Well, as said in the rfc for websockets anyway. Though, regarding the errors, i found out that serenity's gateway wouldn't work, but i do see that i'll have to file an issue to see if they know why are these happening at all
* Add an actual way to fetch audit log entries from a guildacdenisSK2017-07-201-0/+10
|
* Remove the deprecated functionsacdenisSK2017-07-111-18/+0
| | | | It's already been enough time for people to migrate
* Implement attaching reasons to bansacdenisSK2017-07-081-3/+4
|
* Docs fixesmei2017-06-271-3/+2
|
* Add 'wait' parameter to http::execute_webhookZeyla Hellyer2017-06-201-6/+21
| | | | | | The 'wait' parameter allows you to specify waiting for the Message to be sent prior to receiving a response, which will have Discord include the JSON representation of the Message in the body.
* Call send_files from http::send_fileZeyla Hellyer2017-06-141-35/+7
| | | | | | | | | | | | | | | | | | | When made, the `http::send_files` code was duplicated from `http::send_file`. Instead call `http::send_files`, which provides a fix for when an, e.g. 4xx status code, is received, and the library would continue to deserialize the response as usual. This fixes errors like: ``` Err(Json(ErrorImpl { code: Message("missing field `id`"), line: 1, column: 54 })) ``` Instead returning: ``` Err(Http(InvalidRequest(PayloadTooLarge))) ```
* Switch from #[doc(hidden)] to pub(crate)alex2017-06-141-4/+3
| | | | | | Switch from using `#[doc(hidden)]` to hide some internal functions to `pub(crate)`. The library now requires rustc 1.18.
* Use HTTPS Connector with remaining HTTP functionsMaiddog2017-06-141-9/+20
|