Lua-cURLv3/doc/lcurl.ldoc
Alexey Melnichuk 70af182080 Fix. Set callback with context.
Update Documentation
2014-08-27 10:20:46 +05:00

251 lines
6.4 KiB
Plaintext

---
-- @module lcurl
--- Create HTTP multipart object.
--
-- @treturn[1] httppost new curl HTTP Post object context
function httppost() end
--- Create Easy object
--
-- @treturn[1] easy new curl easy object
function easy() end
--- Returns libcurl version as human readable string
--
function version() end
--- Returns libcurl version as table
--
-- @tparam[opt] string param specific version info
-- @treturn[1] table full version into if `param` was not specify
-- @return[2] specific info parameter
--
-- @usage
-- proto = curl.version_info('protocols')
-- if proto.HTTP then ... -- libcurl support http protocol
function version_info() end
--- HTTP multipart/formdata object
-- @type httppost
--
do
--- Add new part to form.
--
-- @tparam string name provide the name of this part
-- @tparam string content actual data to send
-- @tparam[opt] string type provides the content-type for this part
-- @tparam[opt] table headers specifies extra headers for the form POST section
-- @return[1] self
function httppost:add_content() end
--- Add new part to form.
--
-- @tparam string name provide the name of this part
-- @tparam string filename provides the filename field in the content header
-- @tparam string content actual data to send
-- @tparam[opt] string type provides the content-type for this part
-- @tparam[opt] table headers specifies extra headers for the form POST section
-- @return[1] self
function httppost:add_buffer() end
--- Add new part to form.
--
-- @tparam string name provide the name of this part
-- @tparam string path path to file that contain actual data to send
-- @tparam[opt] string type provides the content-type for this part
-- @tparam[opt] string filename provides the filename field in the content header.
-- By default it is basename of path.
-- @tparam[opt] table headers specifies extra headers for the form POST section
-- @return[1] self
function httppost:add_file() end
--- Serialize multipart/formdata HTTP POST chain.
--
-- @return[1] string serialized data
--
-- @usage print(post:get())
--
function httppost:get() end
--- Serialize multipart/formdata HTTP POST chain.
--
-- Writer function can return true or number of written bytes.
-- Also if function does not return anything is considered as success.
--
-- @tparam function writer
-- @param[opt] context writer context
-- @return[1] self
--
-- @usage
-- t = {}
-- post:get(table.insert, t)
-- print(table.concat(t))
--
function httppost:get() end
--- Serialize multipart/formdata HTTP POST chain.
--
-- This call same as httppost:get(writer.write, writer)
--
-- @tparam object writer
-- @return[1] self
--
-- @usage
-- f = io.open(...)
-- post:get(f)
--
function httppost:get() end
--- Free multipart/formdata.
--
function httppost:free() end
end
--- Easy curl object
-- @type easy
--
do
--- Perform a file transfer
--
-- @return[1] self
function easy:perfom() end
--- URL encodes the given string
--
-- @tparam string url
-- @return[1] encoded url
function easy:escape() end
--- URL decodes the given string
--
-- @tparam string url
-- @return[1] decoded url
function easy:unescape() end
--- End easy session
--
function easy:close() end
--- Set options.
--
-- @tparam number opt one of `curl.OPT_XXX` constant
-- @params ... value
--
-- @usage
-- c:setopt(curl.OPT_URL, "http://example.com")
-- c:setopt(curl.OPT_READFUNCTION, function(t, n) return table.remove(t) end, {"1111", "2222"})
function easy:setopt() end
--- Set writer function.
--
-- A callback accepting one or two parameters.
-- The first is the writer context if any, and the second is a string with the data to be written.
-- Function must return `true` or full data length or nothing to continue operation.
-- Otherwise the transfer will be aborted with an error.
--
-- @tparam function writer
-- @param[opt] context writer context
-- @return[1] self
--
function easy:setopt_writefunction() end
--- Set writer function.
--
-- This call same as easy:set_writefunction(writer.write, writer)
--
-- @tparam object writer
-- @return[1] self
--
function easy:setopt_writefunction() end
--- Set header function.
--
-- A callback accepting one or two parameters.
-- The first is the writer context if any, and the second is a string with the data to be written.
-- Function must return `true` or full data length or nothing to continue operation.
-- Otherwise the transfer will be aborted with an error.
--
-- @tparam function writer
-- @param[opt] context writer context
-- @return[1] self
--
function easy:setopt_headerfunction() end
--- Set header function.
--
-- This call same as easy:set_headerfunction(writer.header, writer)
--
-- @tparam object writer
-- @return[1] self
--
function easy:setopt_headerfunction() end
--- Set reader function.
--
-- A callback accepting one or two parameters.
-- The first is the reader context if any, and the second is the maximum amount of data to be read.
-- You can ignore second argument and pass as mach data as you need. lcurl can split data.
-- Function must return data to continue operation. To stop operation it must return empty string on nil.
-- Otherwise the transfer will be aborted with an error.
--
-- @tparam function reader
-- @param[opt] context reader context
-- @return[1] self
--
function easy:setopt_readfunction() end
--- Set reader function.
--
-- This call same as easy:set_readfunction(reader.read, reader)
--
-- @tparam object reader
-- @return[1] self
--
function easy:setopt_readfunction() end
--- Set progress function.
--
-- A callback accepting four or five parameters.
-- The first is the reader context if any, the second is the total number
-- of bytes expected to be downloaded in this transfer,
-- the third is the number of bytes downloaded so far,
-- the fourth is the total number of bytes expected to be uploaded
-- in this transfer, and the fifth is the number of bytes uploaded so far.
-- Function must return `true` or or nothing to continue operation.
-- Otherwise the transfer will be aborted with an error.
--
-- @tparam function progress
-- @param[opt] context progress context
-- @return[1] self
--
function easy:setopt_progressfunction() end
--- Set reader function.
--
-- This call same as easy:set_readfunction(reader.read, reader)
--
-- @tparam object reader
-- @return[1] self
--
function easy:setopt_readfunction() end
--- Set HTTP multipart/formdata
--
-- @tparam httppost data
-- @return[1] self
function easy:setopt_httppost() end
--- Set HTTP multipart/formdata
--
-- @tparam string data
-- @tparam[opt=#data] number length
-- @return[1] self
function easy:setopt_postfields() end
end