Fix. reset method.
This commit is contained in:
parent
bb7a6c3571
commit
d2118f2c93
@ -2,7 +2,7 @@
|
||||
-- @module lcurl
|
||||
do
|
||||
|
||||
--- Create HTTP multipart object.
|
||||
--- Create HTTP multipart/formdata object.
|
||||
--
|
||||
-- @treturn[1] httpform new curl HTTP Post object context
|
||||
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"
|
||||
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){
|
||||
@ -67,14 +30,12 @@ int lcurl_easy_create(lua_State *L, int error_mode){
|
||||
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);
|
||||
luaL_argcheck (L, p != NULL, 1, LCURL_PREFIX"HTTPPost object expected");
|
||||
return p;
|
||||
}
|
||||
|
||||
#define lcurl_geteasy(L) lcurl_geteasy_at((L),1)
|
||||
|
||||
static int lcurl_easy_cleanup(lua_State *L){
|
||||
lcurl_easy_t *p = lcurl_geteasy(L);
|
||||
if(p->curl){
|
||||
@ -154,10 +115,7 @@ static int lcurl_easy_unescape(lua_State *L){
|
||||
|
||||
static int lcurl_easy_reset(lua_State *L){
|
||||
lcurl_easy_t *p = lcurl_geteasy(L);
|
||||
CURLcode code = curl_easy_init(p->curl);
|
||||
if(code != CURLE_OK){
|
||||
return lcurl_fail_ex(L, p->err_mode, LCURL_ERROR_EASY, code);
|
||||
}
|
||||
curl_easy_reset(p->curl);
|
||||
lua_settop(L, 1);
|
||||
|
||||
if(p->storage != LUA_NOREF){
|
||||
|
42
src/lceasy.h
42
src/lceasy.h
@ -2,9 +2,51 @@
|
||||
#define _LCEASY_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);
|
||||
|
||||
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);
|
||||
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user