2
$\begingroup$

All that I know about CURLLink is that it is a package, I believe. I need to find out more about CURLLinkUtilities but I'm not really sure where to start, and all my searches are turning up dry.

Is there a place for Mathematica Package documentation?

$\endgroup$
  • 1
    $\begingroup$ It would be helpful to know why you need to find out more about it to help us formulate our answers. To begin with, do you know that CURLLink is probably a wrapper around libcurl? You could start by doing Needs["CURLLink`"], then using ?CURLForm or ResourceFunction["PrintDefinitions"][CURLForm]. It does not appear than any documentation is shipped around CURLLink, and normally this means that it is unsupported by WRI. $\endgroup$ – Carl Lange Jun 5 at 0:31
  • $\begingroup$ @CarlLange - thanks, that helps. I did give more detail in another question, here at mathematica.stackexchange.com/questions/199644/…. It was about an error message I am continually getting while trying to use WebExecute[]. However, I thought that a more simple question could help get me pointed in the right direction for how to figure out the error I am getting. $\endgroup$ – Jmeeks29ig Jun 5 at 0:37
  • 1
    $\begingroup$ On my system, it seems the source code for CURLLink lives at FileNameJoin[{$InstallationDirectory, "SystemFiles", "Links", "CURLLink"}] It does not appear that any documentation is included but the source is readable. $\endgroup$ – Carl Lange Jun 5 at 0:39
  • $\begingroup$ @CarlLange Thanks, I appreciate it! $\endgroup$ – Jmeeks29ig Jun 5 at 0:41
  • 1
    $\begingroup$ Happy to help. You would likely have a better time solving your root issue by posting more of your code in the question you linked - particularly if you can come up with a Minimum Working Example that exhibits the problem you're seeing. $\endgroup$ – Carl Lange Jun 5 at 0:43
5
$\begingroup$

It does not appear that any documentation is shipped around CURLLink, and normally this means that it is unsupported by WRI. However, the source is shipped without any obfuscation and most of it is in Wolfram Language, so you can gain insight into its inner workings that way.

On my system, it seems the source code for CURLLink lives at

FileNameJoin[{$InstallationDirectory, "SystemFiles", "Links", "CURLLink"}]

From a cursory glance, CURLLink is a wrapper around libcurl that allows for low-level HTTP actions. More than likely it's used internally as the underpinnings of URLRequest and friends, and it is probably undocumented because it's somewhat un-WL to have these direct wrappers to external functionality (calling libcurl to POST a HTTP form) instead of a more idiomatic interface (such as URLRequest). It may also be undocumented because the interface is very likely to change in future releases - although I find this reason unlikely because libcurl itself is historically extremely stable.

You may find the libcurl documentation somewhat useful in your escapades.

$\endgroup$
  • $\begingroup$ Thanks, I really appreciate it. Would there be anything that I might be able to do to help make the program more stable without having to look through all the code? I can look through it and get a better understanding of it, but I am doubtful that I will be able to pinpoint exactly what is causing the issue. For example, just a shot in the dark - could there be some simple solution like clearing the memory that might make me less likely to run into trouble? $\endgroup$ – Jmeeks29ig Jun 5 at 1:07
  • $\begingroup$ Unfortunately, without (a lot) more details and a MWE, I can't help you with that problem. Perhaps do a bit of research on how to debug WL code, since it seems like your issue is quite involved. Have you tried simply Catching the exception? $\endgroup$ – Carl Lange Jun 5 at 7:58
  • $\begingroup$ Not yet, to be honest. I don't yet fully understand the Catch and Throw part of Mathematica, but I should probably get around to learning it. I, since last comment, made Print[] statements to get a better idea of when the program is cutting out, but I know that isn't the most ideal way to deal with bugs. $\endgroup$ – Jmeeks29ig Jun 5 at 21:13
  • $\begingroup$ It seems to be a problem with MailServerConnect[], because that is where to program seems to always stop. $\endgroup$ – Jmeeks29ig Jun 5 at 21:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.