1515#include "lcerror.h"
1616#include "lchttppost.h"
1717#include "lcmime.h"
18+ #include "lcurlapi.h"
1819#include "lcutils.h"
1920
2021/*export*/
@@ -36,10 +37,18 @@ static int lcurl_share_new_safe(lua_State *L){
3637 return lcurl_share_create (L , LCURL_ERROR_RETURN );
3738}
3839
39- static int lcurl_hpost_new_safe (lua_State * L ){
40+ static int lcurl_hpost_new_safe (lua_State * L ) {
4041 return lcurl_hpost_create (L , LCURL_ERROR_RETURN );
4142}
4243
44+ #if LCURL_CURL_VER_GE (7 ,62 ,0 )
45+
46+ static int lcurl_url_new_safe (lua_State * L ) {
47+ return lcurl_url_create (L , LCURL_ERROR_RETURN );
48+ }
49+
50+ #endif
51+
4352static int lcurl_easy_new (lua_State * L ){
4453 return lcurl_easy_create (L , LCURL_ERROR_RAISE );
4554}
@@ -56,6 +65,14 @@ static int lcurl_hpost_new(lua_State *L){
5665 return lcurl_hpost_create (L , LCURL_ERROR_RAISE );
5766}
5867
68+ #if LCURL_CURL_VER_GE (7 ,62 ,0 )
69+
70+ static int lcurl_url_new (lua_State * L ) {
71+ return lcurl_url_create (L , LCURL_ERROR_RAISE );
72+ }
73+
74+ #endif
75+
5976static int lcurl_version (lua_State * L ){
6077 lua_pushstring (L , curl_version ());
6178 return 1 ;
@@ -170,6 +187,9 @@ static const struct luaL_Reg lcurl_functions[] = {
170187 {"easy" , lcurl_easy_new },
171188 {"multi" , lcurl_multi_new },
172189 {"share" , lcurl_share_new },
190+ #if LCURL_CURL_VER_GE (7 ,62 ,0 )
191+ {"url" , lcurl_url_new },
192+ #endif
173193 {"version" , lcurl_version },
174194 {"version_info" , lcurl_version_info },
175195
@@ -182,6 +202,9 @@ static const struct luaL_Reg lcurl_functions_safe[] = {
182202 {"easy" , lcurl_easy_new_safe },
183203 {"multi" , lcurl_multi_new_safe },
184204 {"share" , lcurl_share_new_safe },
205+ #if LCURL_CURL_VER_GE (7 ,62 ,0 )
206+ {"url" , lcurl_url_new_safe },
207+ #endif
185208 {"version" , lcurl_version },
186209 {"version_info" , lcurl_version_info },
187210
@@ -258,6 +281,7 @@ static int luaopen_lcurl_(lua_State *L, const struct luaL_Reg *func){
258281 LCURL_PUSH_NUP (L ); lcurl_mime_initlib (L , NUP );
259282 LCURL_PUSH_NUP (L ); lcurl_multi_initlib (L , NUP );
260283 LCURL_PUSH_NUP (L ); lcurl_share_initlib (L , NUP );
284+ LCURL_PUSH_NUP (L ); lcurl_url_initlib (L , NUP );
261285
262286 LCURL_PUSH_NUP (L );
263287
0 commit comments