Platforms to show: All Mac Windows Linux Cross-Platform

Back to CURLSMBS class.

CURLSMBS.Cancel as Boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 13.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Tells CURL instance to cancel transfer as soon as possible.

Especially when using PerformMT, you may see your app hang if user tries to quit application. To prevent the hang, please set Cancel = true in window close event. So when app quits and windows get destroyed, the PerformMT will see the Cancel being true and returns soon.
(Read and Write property)

CURLSMBS.CollectDebugData as Boolean   Deprecated

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 12.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
This item is deprecated and should no longer be used. You can use CollectDebugMessages instead.
Whether to collect debug message data.

If you set this property to true, you can grab the data from the transfer in the DebugMessages Property instead of collecting the pieces yourself in the DebugMessage event. Of course this is optional and you can still process data in DebugMessage event.
Due to memory limitation, collecting data will not work right if your app is running low on memory.
(Read and Write property)

CURLSMBS.CollectDebugMessages as Boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 23.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Whether to collect debug message data.

If you set this property to true, you can grab the data from the transfer in the DebugMessages Property instead of collecting the pieces yourself in the DebugMessage event. Of course this is optional and you can still process data in DebugMessage event.
Due to memory limitation, collecting data will not work right if your app is running low on memory.
(Read and Write property)

Some examples using this property:

CURLSMBS.CollectHeaderData as Boolean   Deprecated

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 12.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
This item is deprecated and should no longer be used. You can use CollectHeaders instead.
Whether to collect headers.

If you set this property to true, you can grab the data from the transfer in the Headers Property instead of collecting the pieces yourself in the header event. Of course this is optional and you can still process data in header event.
Due to memory limitation, collecting data will not work right if your app is running low on memory.

Renamed to CollectHeaders in v23.0.
(Read and Write property)

CURLSMBS.CollectHeaders as Boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 23.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Whether to collect headers.

If you set this property to true, you can grab the data from the transfer in the Headers Property instead of collecting the pieces yourself in the header event. Of course this is optional and you can still process data in header event.
Due to memory limitation, collecting data will not work right if your app is running low on memory.
(Read and Write property)

Some examples using this property:

CURLSMBS.CollectOutputData as Boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 12.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Whether to collect output data.

If you set this property to true, you can grab the data from the transfer in the OutputData Property instead of collecting the pieces yourself in the write event. Of course this is optional and you can still process data in write event.
Due to memory limitation, collecting data will not work right if your app is running low on memory.
(Read and Write property)

Some examples using this property:

CURLSMBS.DebugData as String   Deprecated

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 12.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
This item is deprecated and should no longer be used. You can use DebugMessages instead.
The debug data from CURL.

If CollectDebugData property is true, the plugin puts the data received in debugMessage event also into this property, so you can grab it after the transfer.

Newer code should use DebugMessages property instead.
(Read only property)

CURLSMBS.DebugMessages as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 23.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
The debug messages from CURL.

If CollectDebugMessage property is true, the plugin puts the data received in debugMessage event also into this property, so you can grab it after the transfer.
(Read only property)

CURLSMBS.DebugWithData as Boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Whether to include data in debug messages.
Example
Var c as new CURLSMBS
c.DebugWithData = true
c.OptionVerbose = true
c.CollectDebugMessages = true

(Read and Write property)

CURLSMBS.Handle as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 9.8 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
The internal handle of the CURL object.

(Read and Write property)

CURLSMBS.HeaderData as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 12.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
The headers from CURL.

If CollectHeaders property is true, the plugin puts the data received in header event also into this property, so you can grab it after the transfer.

Renamed to Headers in v23.0.
(Read only property)

CURLSMBS.Headers as String   Deprecated

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 23.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
This item is deprecated and should no longer be used. You can use Headers instead.
The headers from CURL.

If CollectHeaders property is true, the plugin puts the data received in header event also into this property, so you can grab it after the transfer.
(Read only property)

CURLSMBS.InputData as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 14.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
The input data.

If you set input data, you do not need to use Read, RestartRead or Seek events.
The plugin will use the provided data for the upload.
Setting input data size, will also set the input file size (OptionInFileSizeLarge and OptionInFileSize).

Alternatively you can provide data in Read event or use OpenMTInputFile method to open a file on disk to upload.
(Read and Write property)

CURLSMBS.Lasterror as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 9.8 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
The lasterror from the library.
Example
Var d As New CURLSMBS

d.OptionSSLVersion = 123

Var LastError As Integer = d.LastError
// gives 43
Var LastErrorText As String = d.LastErrorText
// A libcurl function was given a bad argument

Break

Set in the constructor while doing initialization as well as by by various curl calls.
Check the kError* constants.
(Read and Write property)

CURLSMBS.LastErrorMessage as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 11.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
The last error message.
Example
Var d As New CURLSMBS

d.OptionURL = "http://192.168.2.53"
d.OptionConnectionTimeout = 5

Var ErrorCode As Integer = d.Perform

Var LastErrorMessage As String = d.LastErrorMessage
Var LastErrorText As String = d.LastErrorText

Break

The error message from the transfer.

e.g. Perform may report a timeout with code 28.
Then LasterrorText is "Timeout was reached" looked up for 28.

But LasterrorMessage would be something like "Failed to connect to x.x.x.x port 80 after 5000 ms: Timeout was reached".
(Read only property)

CURLSMBS.LasterrorText as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
The text for the lasterror code.
Example
Var d As New CURLSMBS

d.OptionURL = "http://192.168.2.53"
d.OptionConnectionTimeout = 5

Var ErrorCode As Integer = d.Perform

Var LastErrorMessage As String = d.LastErrorMessage
Var LastErrorText As String = d.LastErrorText

Break

Static string matched to the error code, so you have an idea what's wrong.

e.g. Perform may report a timeout with code 28.
Then LasterrorText is "Timeout was reached" looked up for 28.

But LasterrorMessage would be something like "Failed to connect to x.x.x.x port 80 after 5000 ms: Timeout was reached".
(Read and Write property)

Some examples using this property:

CURLSMBS.Paused as Boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 18.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Whether transfer is paused.

You can set it to true while transfer runs to pause it.
(Read and Write property)

CURLSMBS.ProgressDownloadCurrent as Int64

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 15.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Bytes downloaded so far.

(Read only property)

CURLSMBS.ProgressDownloadTotal as Int64

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 15.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Bytes to download in total.

(Read only property)

CURLSMBS.ProgressPercent as Double

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 15.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Current download/upload progress in percent.

Range from 0 to 100.
(Read only property)

Some examples using this property:

CURLSMBS.ProgressUploadCurrent as Int64

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 15.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Bytes uploaded so far.

(Read only property)

CURLSMBS.ProgressUploadTotal as Int64

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 15.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Bytes to upload in total.

(Read only property)

CURLSMBS.Tag as Variant

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 23.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
The tag value.

You can store whatever reference value you need.
(Read and Write property)

CURLSMBS.WebSocketOptions as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 23.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
WebSocket behavior options.

Pass a bitmask to tell libcurl about specific WebSocket behaviors.

To detach a WebSocket connection and use the WebSocketSend and WebSocketReceive functions after the HTTP upgrade procedure, set the OptionConnectOnly option to 2.

Available bits in the bitmask:

kWebSocketRaw:
Deliver "raw" WebSocket traffic to the Write event.

In raw mode, libcurl does not handle pings or any other frame for the application.
(Read and Write property)

CURLSMBS.YieldTime as Boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
property CURL MBS CURL Plugin 9.8 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Whether plugin should yield time.
Example
Var curl as new CURLSMBS

curl.YieldTime = true

If set the plugin will yield time to Xojo back so threads and timers work while you download.

Seems like in RB 2009 this property only has effect if you run CURL in a thread.
(Read and Write property)

Some examples using this property:

The items on this page are in the following plugins: MBS CURL Plugin.


The biggest plugin in space...