Really needing this feature...
world.Export() can be used to send "GET" parameters to a URL, but it would be nice to use world.Export() for some "POST" parameters.

I know that there are other ways to do this but I think a quick and efficient built-in version would be most ideal.


Maybe another function/proc as such

world.POST();


or use the Export() with a new argument?

world.Export("http://www.example.com",POST="testing=1;success=1")


where when POST is defined in the arguments, it will act as a "POST" instead of "GET".


I hope this makes sense x.x
In response to Ssj4justdale
This has been suggested before.. No developer really chimed in..

It would be .. An amazing feature..
In response to Ssj4justdale
I'm glad I am not the only one who thinks so :D
Question: why not just use libcurl .so/.dll for this via call()?

[Edit]
Haha, I just realized I asked this two years ago and am the third comment in the thread. Seems no one can answer.


^ I currently do that and it would be nice if I didn't have to
Why would it be nice?

Why should the developers work to add support for something you can already do?
In response to Airjoe
Airjoe wrote:
Why would it be nice?

Why should the developers work to add support for something you can already do?

Because we shouldn't have to rely on a third party program to do this, if you were to push a game and server off onto steam green light and it comes with a exe I would be very suspicious especially when it tries to connect to anything.. libcurl.exe may mean something to you, but others who don't know what is will treat it with suspicion...

I really don't think it's a big ask for this to be implemented..
That is the silliest argument I can imagine. You shouldn't have to rely on a third party *library*? Yes, BYOND should do everything for you! I sure hope you never used MySQL before, what with having to install a third party library, my god!

Man, I forgot about all of those people that navigate to the game directory after installing a game on Steam and investigating every .dll file. I bet people on Steam would just go crazy if you used a well known and widely used library in your game. I am just so stupid to have suggested a feasible workaround.


I really think it's a big ask to implement a feature that you not only already have but will never be anywhere near as functional and complete as the third party library. How long until someone says "Now we want HTTP PUT and OPTIONS and DELETE to support my RESTful API" and BYOND needs to go back and update world.Export() again? Then what if someone wants POP3 and IMAP support so they can have some sort of e-mail registration bot?

"libcurl is a free and easy-to-use client-side URL transfer library, supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP. libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, Kerberos), file transfer resume, http proxy tunneling and more!"


This is the reason third party libraries exist. This is the reason call() was expanded to allow external libraries. So you could go ahead and add functionality without busting balls.

You're probably right that adding POST support wouldn't be all that hard, but it's the kind of request that's just more and more feature creep. As long as Tom and co. keep this sucker under wraps with one and a half developers, it's the kind of feature that is just too low on the list. Too bad.

In response to Airjoe
Airjoe wrote:
Man, I forgot about all of those people that navigate to the game directory after installing a game on Steam and investigating every .dll file.

#Rekt

I in addition, thought it was a somewhat silly argument to say that mainstream PC gamers would be turned off by a game having a .dll file included...

What do you think windows games are made from? Magic and unicorn poo? If it comes through a browser, yeah, I'm going to be suspicious of something requesting DLL access. However, if I'm installing a game distributed by a reputable publisher, and it's meant to run on my machine, I'm pretty much only going to get angry if my antivirus quarantines it and I come to find it's got logware or something equally nasty in it.
I'm not averse to the idea of adding POST support, though I'd have to know how it would be indicated exactly, since world.Export() currently has a certain format. We'd want something sensible for it.

It probably wouldn't be that difficult, overall. As Airjoe mentioned though it is feature creep so it's the kind of thing that's good to keep to a minimum.
In response to Airjoe
Airjoe wrote:
That is the silliest argument I can imagine. You shouldn't have to rely on a third party *library*? Yes, BYOND should do everything for you! I sure hope you never used MySQL before, what with having to install a third party library, my god!

Now now.. BYOND implemented the lite SQL feature (that wasn't requested by anyone, I believe). We already have a DB library and third party programs, so one could argue that the point of that was so we don't need to rely on a library and third party programs such as MySQL.

That is my opinion of why it was implemented don't take offense to what I've said..

Airjoe wrote:
I am just so stupid to have suggested a feasible workaround.

No need to be childish, I understand why you've recommended that work around, and yes it makes perfect sense.

Lummox JR wrote:
It probably wouldn't be that difficult, overall. As Airjoe mentioned though it is feature creep so it's the kind of thing that's good to keep to a minimum.

I think HTTP POST would be the only thing needed here, BYOND already has some of the features from cURL implemented, like GET.
In response to A.T.H.K
A.T.H.K wrote:
Now now.. BYOND implemented the lite SQL feature (that wasn't requested by anyone, I believe). We already have a DB library and third party programs, so one could argue that the point of that was so we don't need to rely on a library and third party programs such as MySQL.


SQLite was implemented because the new pager was already using it for its game/hub stuff, they figured it was already included may as well make it usable. It doesn't make MySQL at all obsolete, as it doesn't support an actual connection process to local or external database servers, it's just a file like a savefile with a more powerful query system but without the native support for saving large structures of data like savefiles have.

The DB library is still quite relevant if you work with external databases any.
We're in 2 years now (just 1 day off, I just noticed) And I feel like a bump is in order to see if it can be sprung back to life.

Especially since BYOND outright refuses to use call() anywhere (Method not found, I placed that dll in 8 different locations smh)

So yeah, this could and would likely still be a good addition, everyones old self agrees.
SS13's rust_g has supported this for a while.
https://github.com/tgstation/rust-g
In response to Zewaka
Zewaka wrote:
SS13's rust_g has supported this for a while.
https://github.com/tgstation/rust-g

I have seen and attempted to implement this, but there isn't a lot of guidance to be found on the internet, nor any examples of how it should be done properly. I have attempted to send a POST message using this but I get empty replies and no errors, so I'm confused.
Page: 1 2