Fixing HttpService: Make PUT, PATCH, DELETE requests, access response headers, proxy to any site, and more

Yeah, what @buildthomas said. This isn’t needed needed anymore because the new API offers everything this does and more.This is confusing to set up and there isn’t much point to it now, but it was amazing before the new API was released!

1 Like

@grilme99 Alright, wasn’t too sure, thanks

Late response, but the one thing that this can do is send requests to the Roblox Web API. The new RequestAsync method does not allow you to access Roblox resources.

As someone who uses HttpService for nearly nothing but using a proxy to access Roblox endpoints, that’s crucial, and this provides what I need.

Yes, this is a repeat of what I already said:

5 Likes

How would you add a function to execute without doing a request if a request is incoming from the game and have a specific header ?

I recently tried the httpservice but noticed that it doesn’t properly decode like httpservice does (although with further looking on the client module, it does use the http decoder)
It would return this:

{“Id”:2470023,“Username”:“Froast”,“AvatarUri”:null,“AvatarFinal”:false,“IsOnline”:false}

instead of this:

{
[“Id”] = 2470023,
[“Username”] = “Froast”,
[“AvatarUri”] = null,
[“AvatarFinal”] = false,
[“IsOnline”] = false
}

1 Like

Have you figured this out? I’m having trouble to retrieve the value of each key/data.

I did, I forgot it has a higher hierachy so you’d have to extract it from .Body instead (and then decode)

So basically I wanna send a :Put method, and I honestly don’t understand how I would do that with this tutorial. I basically only want to send heathers, and nothing else. With RequestAsync, it would work as

{
        Url = "LINK",
        Method = "POST",
        Headers = {
            ["Accept"] = "application/json",
            ["Authorization"] = "Bearer " .. apikey,
            ["Content-Type"] = "application/json"
        }

How would I put this with this solution?

Why use this over RequestAsync in the first place?

Use HttpService:JSONDecode() and it will work

use JsonDecode function by the httpservice to make it into a lua readable table kind of thing

local ProxyService = require(game:GetService('ServerScriptService').ProxyService) 
local Proxy = ProxyService:New("https://giant-proxy-service.herokuapp.com", "ACCESS_KEY") 
local url = "https://inventory.roblox.com/v2/users/1249929737/inventory?assetTypes=Animation&limit=10&sortOrder=Asc" 
print(Proxy:Get(url).nextPageCursor)

I get nil everytime.

Screen Shot 2564-11-17 at 11.37.34 AM

You need to put your cookies into your headers, or make your inventory public.

1 Like

Thanks for your help, appreciate it :smiley:

Thanks for making this tutorial, its been super helpful!

I’m aiming to retrieve results about my games thumbs-up amount every 1 second, although even when passing true for nocache the result still takes about 15-20 seconds to update, despite making a Get request every 1 second interval. Is there anything I can do (such as configuring my dyno) to fix this?

I’m assigning a central server to make these requests so scalability isn’t an issue.

Hello, for some reason this isn’t working for me. It says;
image
idk how to fix it, can someone help me

3 Likes

I am having the same issue as @kinglol123468, after I looked up the error message I think I found out that your code got (wrongly) flagged for being malicious,

1 Like

Any plans on making this into a docker?
I use docker a lot :slight_smile:

@kinglol123468 @NotBleep you can get around this by forking the repository and modifying the url on the deploy button to your repositories. They only flagged the origin repository, not the forks.

for convenience, people can use my fork for it GitHub - VoidedBlades/ProxyService until it also gets flagged by heroku or until the origin repo gets whitelisted

7 Likes