Fix. reset method.
This commit is contained in:
parent
bb7a6c3571
commit
d2118f2c93
@ -2,7 +2,7 @@
|
|||||||
-- @module lcurl
|
-- @module lcurl
|
||||||
do
|
do
|
||||||
|
|
||||||
--- Create HTTP multipart object.
|
--- Create HTTP multipart/formdata object.
|
||||||
--
|
--
|
||||||
-- @treturn[1] httpform new curl HTTP Post object context
|
-- @treturn[1] httpform new curl HTTP Post object context
|
||||||
function form() end
|
function form() end
|
||||||
|
46
src/lceasy.c
46
src/lceasy.c
@ -9,43 +9,6 @@ static const char *LCURL_ERROR_TAG = "LCURL_ERROR_TAG";
|
|||||||
#define LCURL_EASY_NAME LCURL_PREFIX" Easy"
|
#define LCURL_EASY_NAME LCURL_PREFIX" Easy"
|
||||||
static const char *LCURL_EASY = LCURL_EASY_NAME;
|
static const char *LCURL_EASY = LCURL_EASY_NAME;
|
||||||
|
|
||||||
typedef struct lcurl_read_buffer_tag{
|
|
||||||
int ref;
|
|
||||||
int off;
|
|
||||||
}lcurl_read_buffer_t;
|
|
||||||
|
|
||||||
#define LCURL_LST_INDEX(N) LCURL_##N##_LIST,
|
|
||||||
#define LCURL_STR_INDEX(N)
|
|
||||||
#define LCURL_LNG_INDEX(N)
|
|
||||||
#define OPT_ENTRY(L, N, T, S) LCURL_##T##_INDEX(N)
|
|
||||||
|
|
||||||
enum {
|
|
||||||
LCURL_LIST_DUMMY = -1,
|
|
||||||
|
|
||||||
#include"lcopteasy.h"
|
|
||||||
|
|
||||||
LCURL_LIST_COUNT,
|
|
||||||
};
|
|
||||||
|
|
||||||
#undef LCURL_LST_INDEX
|
|
||||||
#undef LCURL_STR_INDEX
|
|
||||||
#undef LCURL_LNG_INDEX
|
|
||||||
#undef OPT_ENTRY
|
|
||||||
|
|
||||||
typedef struct lcurl_easy_tag{
|
|
||||||
lua_State *L;
|
|
||||||
CURL *curl;
|
|
||||||
int storage;
|
|
||||||
int lists[LCURL_LIST_COUNT];
|
|
||||||
int err_mode;
|
|
||||||
lcurl_callback_t wr;
|
|
||||||
lcurl_callback_t rd;
|
|
||||||
lcurl_callback_t hd;
|
|
||||||
lcurl_callback_t pr;
|
|
||||||
lcurl_read_buffer_t rbuffer;
|
|
||||||
|
|
||||||
}lcurl_easy_t;
|
|
||||||
|
|
||||||
//{
|
//{
|
||||||
|
|
||||||
int lcurl_easy_create(lua_State *L, int error_mode){
|
int lcurl_easy_create(lua_State *L, int error_mode){
|
||||||
@ -67,14 +30,12 @@ int lcurl_easy_create(lua_State *L, int error_mode){
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static lcurl_easy_t *lcurl_geteasy_at(lua_State *L, int i){
|
lcurl_easy_t *lcurl_geteasy_at(lua_State *L, int i){
|
||||||
lcurl_easy_t *p = (lcurl_easy_t *)lutil_checkudatap (L, i, LCURL_EASY);
|
lcurl_easy_t *p = (lcurl_easy_t *)lutil_checkudatap (L, i, LCURL_EASY);
|
||||||
luaL_argcheck (L, p != NULL, 1, LCURL_PREFIX"HTTPPost object expected");
|
luaL_argcheck (L, p != NULL, 1, LCURL_PREFIX"HTTPPost object expected");
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define lcurl_geteasy(L) lcurl_geteasy_at((L),1)
|
|
||||||
|
|
||||||
static int lcurl_easy_cleanup(lua_State *L){
|
static int lcurl_easy_cleanup(lua_State *L){
|
||||||
lcurl_easy_t *p = lcurl_geteasy(L);
|
lcurl_easy_t *p = lcurl_geteasy(L);
|
||||||
if(p->curl){
|
if(p->curl){
|
||||||
@ -154,10 +115,7 @@ static int lcurl_easy_unescape(lua_State *L){
|
|||||||
|
|
||||||
static int lcurl_easy_reset(lua_State *L){
|
static int lcurl_easy_reset(lua_State *L){
|
||||||
lcurl_easy_t *p = lcurl_geteasy(L);
|
lcurl_easy_t *p = lcurl_geteasy(L);
|
||||||
CURLcode code = curl_easy_init(p->curl);
|
curl_easy_reset(p->curl);
|
||||||
if(code != CURLE_OK){
|
|
||||||
return lcurl_fail_ex(L, p->err_mode, LCURL_ERROR_EASY, code);
|
|
||||||
}
|
|
||||||
lua_settop(L, 1);
|
lua_settop(L, 1);
|
||||||
|
|
||||||
if(p->storage != LUA_NOREF){
|
if(p->storage != LUA_NOREF){
|
||||||
|
42
src/lceasy.h
42
src/lceasy.h
@ -2,9 +2,51 @@
|
|||||||
#define _LCEASY_H_
|
#define _LCEASY_H_
|
||||||
|
|
||||||
#include "lcurl.h"
|
#include "lcurl.h"
|
||||||
|
#include "lcutils.h"
|
||||||
|
|
||||||
|
#define LCURL_LST_INDEX(N) LCURL_##N##_LIST,
|
||||||
|
#define LCURL_STR_INDEX(N)
|
||||||
|
#define LCURL_LNG_INDEX(N)
|
||||||
|
#define OPT_ENTRY(L, N, T, S) LCURL_##T##_INDEX(N)
|
||||||
|
|
||||||
|
enum {
|
||||||
|
LCURL_LIST_DUMMY = -1,
|
||||||
|
|
||||||
|
#include"lcopteasy.h"
|
||||||
|
|
||||||
|
LCURL_LIST_COUNT,
|
||||||
|
};
|
||||||
|
|
||||||
|
#undef LCURL_LST_INDEX
|
||||||
|
#undef LCURL_STR_INDEX
|
||||||
|
#undef LCURL_LNG_INDEX
|
||||||
|
#undef OPT_ENTRY
|
||||||
|
|
||||||
|
typedef struct lcurl_read_buffer_tag{
|
||||||
|
int ref;
|
||||||
|
int off;
|
||||||
|
}lcurl_read_buffer_t;
|
||||||
|
|
||||||
|
typedef struct lcurl_easy_tag{
|
||||||
|
lua_State *L;
|
||||||
|
CURL *curl;
|
||||||
|
int storage;
|
||||||
|
int lists[LCURL_LIST_COUNT];
|
||||||
|
int err_mode;
|
||||||
|
lcurl_callback_t wr;
|
||||||
|
lcurl_callback_t rd;
|
||||||
|
lcurl_callback_t hd;
|
||||||
|
lcurl_callback_t pr;
|
||||||
|
lcurl_read_buffer_t rbuffer;
|
||||||
|
|
||||||
|
}lcurl_easy_t;
|
||||||
|
|
||||||
int lcurl_easy_create(lua_State *L, int error_mode);
|
int lcurl_easy_create(lua_State *L, int error_mode);
|
||||||
|
|
||||||
|
lcurl_easy_t *lcurl_geteasy_at(lua_State *L, int i);
|
||||||
|
|
||||||
|
#define lcurl_geteasy(L) lcurl_geteasy_at((L),1)
|
||||||
|
|
||||||
void lcurl_easy_initlib(lua_State *L, int nup);
|
void lcurl_easy_initlib(lua_State *L, int nup);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user