A DLL that handles communicating to the BazaarRealmAPI for the Bazaar Realm Skyrim mod
Go to file
Tyler Hallada 6513b2903a Major refactor and clean up
Split out big lib.rs into separate modules for each endpoint.

Now using FFIResult in all functions requesting the API.

Added unit tests for all functions.

Abstracted file caching behavior into cache.rs. Uses temp files in tests
2020-10-18 20:51:37 -04:00
src Major refactor and clean up 2020-10-18 20:51:37 -04:00
.gitignore Initial commit. Working get & post, needs cleanup 2020-10-12 20:19:48 -04:00
bindings.h Major refactor and clean up 2020-10-18 20:51:37 -04:00
build.rs Initial commit. Working get & post, needs cleanup 2020-10-12 20:19:48 -04:00
Cargo.lock Major refactor and clean up 2020-10-18 20:51:37 -04:00
Cargo.toml Major refactor and clean up 2020-10-18 20:51:37 -04:00
cbindgen.toml Major refactor and clean up 2020-10-18 20:51:37 -04:00
LICENSE Initial commit. Working get & post, needs cleanup 2020-10-12 20:19:48 -04:00
README.md Major refactor and clean up 2020-10-18 20:51:37 -04:00

BazaarRealmClient

A Rust DLL that handles making requests to the BazaarRealmAPI web server for the BazaarRealmPlugin, part of the Bazaar Realm Skyrim mod.

It uses reqwest to make requests to the API, deserializes the data with serde, and saves the responses to files in the Skyrim data directory to use as a local cache when the API server is unavailable.

cbindgen automatically generates the header file needed for the BazaarRealmPlugin (written in C++) to call into this DLL.

Related projects:

  • BazaarRealmAPI: API server for the mod that stores all shop data and what this client talks to
  • BazaarRealmPlugin: SKSE plugin for the mod that modifies data within the Skyrim game engine and calls the methods in this client
  • BazaarRealmMod: Papyrus scripts, ESP plugin, and all other resources for the mod