Parameterize everything that involves sending HTTP requests with the `H:
HttpSend` bound. This will allow us to swap out `HttpSend`
implementations when necessary, in order to better test our code
This is useful for user code, which can use the trait to add a layer of
indirection to their code, allowing them to swap out implementations for
testing
* Add `StatusesRequest` data type
* Breaking change: statuses now takes an id and a `StatusesRequest`
This allows use to pass all the available parameters to
`GET /api/v1/accounts/:id/statuses` without having to add a bunch of
parameters to the method. It is obviously a breaking API change
* Update version to 0.12
* Revert "Update version to 0.12"
This reverts commit d623ea21564a831aa15284b4a589f3de63e7d96c.
* Address review comments
* Address remaining code review comments
- Added the ability to handle paged entities like favourites and such.
(Only favourites in prerelease)
- Added optional `source` and `moved` fields to `Account`.
- Added `Source` struct to match with the `Account.source` field.
- Added `CredientialsBuilder` struct for updating profile using
`verify_credientials`.
- Attachment now handles being sent an empty object, which is converted
to `None`.
- Added ombed data fields to `Card`.
- Added `version` and `urls` fields to `Instance`.
- Added `id`, `muting_notifications`, and `domain_blocking` to `Relationship`.
- Added `emojis`, `language`, and `pinned` fields to `Status`
- Added `Emoji` struct.
- Added `List` and `Mention` structs(matching routes not added yet).
- Added example that prints your profile.
* Changes IDs to Strings for compliance with APIv1
* - Changed Scope to Scopes to coencide with a quirk of the Mastodon API. Initial registration of the app asks for "Scopes" and authorization asks for "Scope"
- Swapped spaces for urlencoded spaces in the scopes serde definition to prevent broken links
- url of status is returned as a Map not a string"
* Fixed tests and updated Version number
* Fixed tests and verified now... learning experience
* fix(errors): Directly pass up Serde errors for easier debugging
* refactor(errors): Also check for API errors
* tests(errors): Add test case
* tests(upload): Ignore integration test with real Mastodon connection per default
* fix(tests): Fix error assertion after change of field ordering
* refactor(json): Create a shared function for response JSON converting
reqwest updated to 0.8
removed Result for creating Mastodon client as result of reqwest update
added Meta and ImageDetails struct for Attachment
Changed Attachment.id to String
Added test for media route.
Changed paramaters for media from Vec<u8> of image data to String of
file path.
Added dotenv for testing