HttpRbxApiService (Kinda...)

So basically what I’ve been working on for a couple of weeks now is what I call HttpRbxApiService or Just a few HttpRequests and DataStore calls.

The place is here:

and click F9 when you join, because the only functionality this has (because I haven’t really added any client side behavior to it) is that it will print a json string.

The text boxes and buttons on the left? Well in the textboxes you can input someones id or username and it will check if they exist in the database.
If they don’t then it returns a

{"success": false, "message": "404 Not Found"}

If they are registered, and you try to unfollow them and they aren’t actually being followed, it will return a

{"success": false, "message": "400 Bad Request"}

if you try to follow or block yourself it gives another 400, if you try block/follow someone you are already blocking/following it will return a “409 Conflict”
If you want to join/suggest things, don’t hesitate.

Note: This will be a community resource when I fix things more, and it becomes less verbose

// GET
void RBX::HttpRbxApiService::getAsync(const RBX::HttpRbxApiService* this, RBX::Http& httpRequest, RBX::ThrottlingPriority throttlePriority, boost::function<void(std::string)> resumeFunction, boost::function<void(std::string)> errorFunction);
void RBX::HttpRbxApiService::getAsync(const RBX::HttpRbxApiService* this, std::string urlPath, bool useHttps, RBX::ThrottlingPriority throttlePriority, boost::function<void(std::string)> resumeFunction, boost::function<void(std::string)> errorFunction);
void RBX::HttpRbxApiService::getAsyncLua(const RBX::HttpRbxApiService* this, std::string urlPath, bool useHttps, RBX::ThrottlingPriority throttlePriority, boost::function<void(std::string)> resumeFunction, boost::function<void(std::string)> errorFunction);

// POST
void RBX::HttpRbxApiService::postAsync(const RBX::HttpRbxApiService* this, RBX::Http& httpRequest, std::string& data, RBX::ThrottlingPriority throttlePriority, RBX::HttpService::HttpContentType content, boost::function<void(std::string)> resumeFunction, boost::function<void(std::string)> errorFunction);
void RBX::HttpRbxApiService::postAsync(const RBX::HttpRbxApiService* this, std::string urlPath, std::string data,bool useHttps, RBX::ThrottlingPriority throttlePriority, RBX::HttpService::HttpContentType content, boost::function<void(std::string)> resumeFunction, boost::function<void(std::string)> errorFunction);
void RBX::HttpRbxApiService::postAsyncWithAdditionalHeaders(const RBX::HttpRbxApiService* this, std::string urlPath, std::string data,bool useHttps, RBX::ThrottlingPriority throttlePriority, RBX::HttpService::HttpContentType content, RBX::HttpAux::AdditionalHeaders additionalHeaders, boost::function<void(std::string)> resumeFunction, boost::function<void(std::string)> errorFunction);
void RBX::HttpRbxApiService::postAsyncLua(const RBX::HttpRbxApiService* this, std::string urlPath, std::string data,bool useHttps, RBX::ThrottlingPriority throttlePriority, RBX::HttpService::HttpContentType content, boost::function<void(std::string)> resumeFunction, boost::function<void(std::string)> errorFunction);
3 Likes

Before I go joining a random game and entering data, can you explain what it does and show some demo results?

You never actually explained what this service is and why it’s a cool creation.

1 Like

You’re not exactly entering data, you are entering a playername or userid, and it either UpdateAsync’s or SetAsync’s that on the server, if it registers that you are new it will fetch these endpoints:

https://friends.roblox.com/v1/users/{targetUserId}/followings
https://friends.roblox.com/v1/users/{targetUserId}/followers
https://api.roblox.com/getblockedusers?targetUserId={targetUserId} -- This isn't actually a request, it's more just
-- using the function StarterGui::GetCore("GetBlockedUserIds") and applying that to the server, it does this because
-- I cannot make a GET request towards this endpoint without auth (Cookie and xcsrftoken)
1 Like

Screenshot 2020-09-17 110154 Can’t click on the box. It doesn’t clip either.

UH this is quite :sparkles: suspicious :sparkles:

But looks good!

Source code to drop your sussing
https://github.com/MFD-gh/betatestmap

1 Like

So an accurate description could be “it allows you to access the friends and blocked users API from within a Roblox game by wrapping the popular rprxy.xyz proxy.” Or possibly “It’s an rprxy.xyz wrapper for accessing Roblox web APIs from in-game.”

I’d include that in the original post to help describe your creation. It looks fairly well laid out from the GitHub repo you shared. I’d also include that in the original post to provide all the info about your creation in the first post.

As the github repo wasn’t planned to be public until this fully finished and optimised, that is probably why the repo is poorly layed out,

1 Like