commit 425e89e32684fd839d954575c79812ee9c1ce265 Author: mykola2312 <49044616+mykola2312@users.noreply.github.com> Date: Sat Jun 23 19:22:28 2018 +0300 Initial commit diff --git a/Release/CL.read.1.tlog b/Release/CL.read.1.tlog new file mode 100644 index 0000000..405ea0b Binary files /dev/null and b/Release/CL.read.1.tlog differ diff --git a/Release/CL.write.1.tlog b/Release/CL.write.1.tlog new file mode 100644 index 0000000..3727c06 Binary files /dev/null and b/Release/CL.write.1.tlog differ diff --git a/Release/cl.command.1.tlog b/Release/cl.command.1.tlog new file mode 100644 index 0000000..ba1b965 Binary files /dev/null and b/Release/cl.command.1.tlog differ diff --git a/Release/http.obj b/Release/http.obj new file mode 100644 index 0000000..1aa53b8 Binary files /dev/null and b/Release/http.obj differ diff --git a/Release/json.obj b/Release/json.obj new file mode 100644 index 0000000..8697833 Binary files /dev/null and b/Release/json.obj differ diff --git a/Release/link.command.1.tlog b/Release/link.command.1.tlog new file mode 100644 index 0000000..d8ed9d4 Binary files /dev/null and b/Release/link.command.1.tlog differ diff --git a/Release/link.read.1.tlog b/Release/link.read.1.tlog new file mode 100644 index 0000000..51dc772 Binary files /dev/null and b/Release/link.read.1.tlog differ diff --git a/Release/link.write.1.tlog b/Release/link.write.1.tlog new file mode 100644 index 0000000..cedc839 Binary files /dev/null and b/Release/link.write.1.tlog differ diff --git a/Release/main.obj b/Release/main.obj new file mode 100644 index 0000000..025d090 Binary files /dev/null and b/Release/main.obj differ diff --git a/Release/mt.command.1.tlog b/Release/mt.command.1.tlog new file mode 100644 index 0000000..ff4c184 Binary files /dev/null and b/Release/mt.command.1.tlog differ diff --git a/Release/mt.read.1.tlog b/Release/mt.read.1.tlog new file mode 100644 index 0000000..73ecb22 Binary files /dev/null and b/Release/mt.read.1.tlog differ diff --git a/Release/mt.write.1.tlog b/Release/mt.write.1.tlog new file mode 100644 index 0000000..b075d8e Binary files /dev/null and b/Release/mt.write.1.tlog differ diff --git a/Release/sdk_http.Build.CppClean.log b/Release/sdk_http.Build.CppClean.log new file mode 100644 index 0000000..b7fa4b2 --- /dev/null +++ b/Release/sdk_http.Build.CppClean.log @@ -0,0 +1,18 @@ +D:\LUA502\LUA\RELEASE\SDK_HTTP.DLL +D:\lua502\lua\Release\sdk_http.exp +D:\lua502\lua\Release\sdk_http.lib +D:\LUA502\LUA\RELEASE\SDK_HTTP.PDB +D:\lua502\lua\sdk_http\Release\cl.command.1.tlog +D:\lua502\lua\sdk_http\Release\CL.read.1.tlog +D:\lua502\lua\sdk_http\Release\CL.write.1.tlog +D:\LUA502\LUA\SDK_HTTP\RELEASE\HTTP.OBJ +D:\lua502\lua\sdk_http\Release\link.command.1.tlog +D:\lua502\lua\sdk_http\Release\link.read.1.tlog +D:\lua502\lua\sdk_http\Release\link.write.1.tlog +D:\LUA502\LUA\SDK_HTTP\RELEASE\MAIN.OBJ +D:\lua502\lua\sdk_http\Release\mt.command.1.tlog +D:\lua502\lua\sdk_http\Release\mt.read.1.tlog +D:\lua502\lua\sdk_http\Release\mt.write.1.tlog +D:\LUA502\LUA\SDK_HTTP\RELEASE\SDK_HTTP.DLL.INTERMEDIATE.MANIFEST +D:\lua502\lua\sdk_http\Release\sdk_http.write.1.tlog +D:\LUA502\LUA\SDK_HTTP\RELEASE\VC100.PDB diff --git a/Release/sdk_http.dll.intermediate.manifest b/Release/sdk_http.dll.intermediate.manifest new file mode 100644 index 0000000..ecea6f7 --- /dev/null +++ b/Release/sdk_http.dll.intermediate.manifest @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Release/sdk_http.lastbuildstate b/Release/sdk_http.lastbuildstate new file mode 100644 index 0000000..c2d4a05 --- /dev/null +++ b/Release/sdk_http.lastbuildstate @@ -0,0 +1,2 @@ +#v4.0:v100:false +Release|Win32|D:\lua502\lua\| diff --git a/Release/sdk_http.log b/Release/sdk_http.log new file mode 100644 index 0000000..20886cc --- /dev/null +++ b/Release/sdk_http.log @@ -0,0 +1,27 @@ +Build started 19.06.2018 5:05:02. + 1>Project "D:\lua502\lua\sdk_http\sdk_http.vcxproj" on node 2 (build target(s)). + 1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(299,5): warning MSB8004: каталог Output заканчивается не косой чертой. Этот экземпляр построения добавит косую черту, поскольку она необходима для правильного определения каталога Output. + 1>InitializeBuildStatus: + Creating "Release\sdk_http.unsuccessfulbuild" because "AlwaysCreate" was specified. + ClCompile: + C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\CL.exe /c /ID:\source2006\public\dlls /ID:\source2006\dlls\hl2_dll /ID:\source2006\game_shared\hl2 /ID:\source2006\game_shared\hl2mp /ID:\source2006\game_shared /ID:\source2006\dlls /ID:\source2006\public\tier1 /ID:\source2006\public\tier0 /ID:\source2006\public /ID:\source2006\common /ID:\lua502\lua\lua502_sdk /I"D:\libcurl\builds\libcurl-vc10-x86-release-dll-ipv6-sspi-winssl\include" /ID:\crusader\platform /I"D:\json-parser" /Zi /nologo /W3 /WX- /O2 /Oi /Oy- /GL /D _SSDK /D _WINDLL /D _MBCS /Gm- /EHsc /MD /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Fo"Release\\" /Fd"Release\vc100.pdb" /Gd /TP /analyze- /errorReport:prompt json.cpp + json.cpp + 1>D:\json-parser\json.h(259): warning C4244: return: преобразование "double" в "int", возможна потеря данных + Link: + C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\link.exe /ERRORREPORT:PROMPT /OUT:"..\..\..\GMod9Dev_Server\gmod9\lua\bin\sdk_http.dll" /NOLOGO /LIBPATH:D:\source2006\lib\public /LIBPATH:D:\lua502\lua\Release /LIBPATH:"D:\libcurl\builds\libcurl-vc10-x86-release-dll-ipv6-sspi-winssl\lib" /LIBPATH:D:\crusader\Release /LIBPATH:"D:\json-parser\Release" lua502_sdk.lib vstdlib.lib tier0.lib tier1.lib platform.lib jsonlib.lib libcurl.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /NODEFAULTLIB:LIBCMT.lib /MANIFEST /ManifestFile:"Release\sdk_http.dll.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.pdb" /OPT:REF /OPT:ICF /LTCG /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"..\..\..\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib" /MACHINE:X86 /DLL Release\http.obj + Release\json.obj + Release\main.obj + Создается библиотека ..\..\..\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib и объект ..\..\..\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp + Создание кода + Создание кода завершено + sdk_http.vcxproj -> D:\lua502\lua\sdk_http\..\..\..\GMod9Dev_Server\gmod9\lua\bin\sdk_http.dll + Manifest: + C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\mt.exe /nologo /verbose /outputresource:"..\..\..\GMod9Dev_Server\gmod9\lua\bin\sdk_http.dll;#2" /manifest Release\sdk_http.dll.intermediate.manifest + FinalizeBuildStatus: + Deleting file "Release\sdk_http.unsuccessfulbuild". + Touching "Release\sdk_http.lastbuildstate". + 1>Done Building Project "D:\lua502\lua\sdk_http\sdk_http.vcxproj" (build target(s)). + +Построение успешно завершено. + +Time Elapsed 00:00:01.12 diff --git a/Release/sdk_http.vcxprojResolveAssemblyReference.cache b/Release/sdk_http.vcxprojResolveAssemblyReference.cache new file mode 100644 index 0000000..3f01681 Binary files /dev/null and b/Release/sdk_http.vcxprojResolveAssemblyReference.cache differ diff --git a/Release/sdk_http.write.1.tlog b/Release/sdk_http.write.1.tlog new file mode 100644 index 0000000..3b89c2a --- /dev/null +++ b/Release/sdk_http.write.1.tlog @@ -0,0 +1,235 @@ +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +^D:\lua502\lua\sdk_http\sdk_http.vcxproj +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.lib +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp +D:\GMod9Dev_Server\gmod9\lua\bin\sdk_http.exp diff --git a/Release/vc100.pdb b/Release/vc100.pdb new file mode 100644 index 0000000..adb9bea Binary files /dev/null and b/Release/vc100.pdb differ diff --git a/http.cpp b/http.cpp new file mode 100644 index 0000000..9c9f718 --- /dev/null +++ b/http.cpp @@ -0,0 +1,358 @@ +#include "threadtools.h" +#include "http.h" +#include "baselib.h" +#include "tier1.h" + +//class CHTTPAsyncQueue : public CWorkerThread +//{ +//public: +// CHTTPAsyncQueue() : CWorkerThread() +// { +// SetName("HTTPAsyncQueue"); +// } +// +// enum { +// CALL_FUNC, +// EXIT +// }; +// +// void AddRequest(CHTTPAsyncQuery* query) +// { +// m_pQuery = query; +// CallWorker(CALL_FUNC); +// } +// +// int Run() +// { +// unsigned nCall; +// while(WaitForCall(&nCall)) +// { +// if(nCall == EXIT) +// { +// Reply(1); +// break; +// } +// +// CHTTPAsyncQuery* query = m_pQuery; +// m_pQuery = NULL; +// Reply(1); +// DoHTTPAsyncQuery(query); +// } +// return 0; +// } +// +// static void DoHTTPAsyncQuery(CHTTPAsyncQuery*); +// +// CHTTPAsyncQuery* m_pQuery; +//} g_HTTPAsyncQueue; + +class CHTTPAsyncQueue : public CThread +{ +public: + CHTTPAsyncQueue() : CThread() + { + SetName("HTTPAsyncQueue"); + } + + void AddRequest(CHTTPAsyncQuery* query) + { + m_Lock.Lock(); + m_Queue.AddToTail(query); + m_Lock.Unlock(); + m_Event.Set(); + } + + int Run() + { + while(true) + { + m_Event.Wait(); + m_Lock.Lock(); + while(m_Queue.Count()) + { + m_Lock.Unlock(); + DoHTTPAsyncQuery(m_Queue[0]); + m_Lock.Lock(); + m_Queue.Remove(0); + } + m_Lock.Unlock(); + } + } + + static void DoHTTPAsyncQuery(CHTTPAsyncQuery*); + + CThreadEvent m_Event; + CThreadFastMutex m_Lock; + CUtlVector m_Queue; +} g_HTTPAsyncQueue; + +void CHTTPAsyncQueue::DoHTTPAsyncQuery(CHTTPAsyncQuery* query) +{ + CCURL curl; + if(!curl.Open()) + { + query->m_iCurlCode = -1; + FinishQuery(query); + return; + } + + if(query->m_iType == CHTTPAsyncQuery::HTTP_GET) + curl.SetOpt(CURLOPT_URL,query->m_Url.Get()); + else if(query->m_iType == CHTTPAsyncQuery::HTTP_POST) + { + curl.SetOpt(CURLOPT_URL,query->m_Url.Get()); + curl.SetOpt(CURLOPT_POSTFIELDS,query->m_Args.Get()); + } + else if(query->m_iType == CHTTPAsyncQuery::HTTP_POSTMULTIPART) + { + curl.SetOpt(CURLOPT_URL,query->m_Url.Get()); + curl_httppost* form = NULL,*last = NULL; + for(int i = 0; i < query->m_PostForms.Count(); i++) + { + CHTTPAsyncQuery::formdata_t& data = query->m_PostForms[i]; + curl_formadd(&form,&last,CURLFORM_COPYNAME,data.m_Name.Get(), + CURLFORM_COPYCONTENTS,data.m_pData,CURLFORM_CONTENTSLENGTH, + data.m_uSize,CURLFORM_END); + } + for(int i = 0; i < query->m_PostFiles.Count(); i++) + { + CHTTPAsyncQuery::filedata_t& data = query->m_PostFiles[i]; + /*curl_formadd(&form,&last,CURLFORM_COPYNAME,data.m_Name.Get(), + CURLFORM_COPYCONTENTS,data.m_pData,CURLFORM_CONTENTSLENGTH, + data.m_uSize,CURLFORM_END);*/ + curl_formadd(&form,&last,CURLFORM_COPYNAME,data.m_Name.Get(), + CURLFORM_BUFFER,data.m_FileName.Get(), + CURLFORM_BUFFERPTR,data.m_pData,CURLFORM_BUFFERLENGTH, + data.m_uSize,CURLFORM_END); + } + curl.SetOpt(CURLOPT_HTTPPOST,form); + } + + if(!query->m_UserAgent.IsEmpty()) + curl.SetOpt(CURLOPT_USERAGENT,query->m_UserAgent.Get()); + if(!query->m_Proxy.IsEmpty()) + curl.SetOpt(CURLOPT_PROXY,query->m_Proxy.Get()); + + if((query->m_iCurlCode=curl.Perform(&query->m_Mem))==CURLE_OK) + query->m_iHttpCode = curl.GetInfo(CURLINFO_RESPONSE_CODE); + curl.Close(); + if(query->m_iType == CHTTPAsyncQuery::HTTP_POSTMULTIPART) + { + for(int i = 0; i < query->m_PostForms.Count(); i++) + delete[] (char*)(query->m_PostForms[i].m_pData); + for(int i = 0; i < query->m_PostFiles.Count(); i++) + delete[] (char*)(query->m_PostFiles[i].m_pData); + } + FinishQuery(query); +} + +void AddQuery(CHTTPAsyncQuery* query) +{ + if(!g_HTTPAsyncQueue.IsAlive()) + { + g_HTTPAsyncQueue.Start(); + //g_HTTPAsyncQueue.SetPriority(THREAD_MODE_BACKGROUND_BEGIN); + } + if(!g_HTTPAsyncQueue.IsAlive()) + { + Warning("[sdk_http] FATAL ERROR - g_HTTPAsyncQueue is dead\n"); + return; + } + + g_HTTPAsyncQueue.AddRequest(query); + DevMsg("Added query %p to %d worker thread\n",query, + g_HTTPAsyncQueue.GetThreadId()); +} + +DECLARE_LIBRARY("http") +DECLARE_TABLE(http); + +DECLARE_FUNCTION(http,Get) +{ + luaL_checktype(L,1,LUA_TTABLE); + luaL_checktype(L,2,LUA_TFUNCTION); + luaL_checktype(L,3,LUA_TFUNCTION); + + CHTTPAsyncQuery* query = new CHTTPAsyncQuery; + + lua_pushvalue(L,2); + query->m_iLuaRefOk = lua_refobj(L); + lua_pushvalue(L,3); + query->m_iLuaRefFail = lua_refobj(L); + + lua_pushstring(L,"url"); + lua_gettable(L,1); + if(!lua_isstring(L,-1)) + { + delete query; + lua_pop(L,1); + luaL_error(L,"url must be specifed in table!"); + return 0; + } + query->m_Url.Set(lua_tostring(L,-1)); + lua_pop(L,1); + + lua_pushstring(L,"useragent"); + lua_gettable(L,1); + if(lua_isstring(L,-1)) + query->m_UserAgent.Set(lua_tostring(L,-1)); + lua_pop(L,1); + + lua_pushstring(L,"proxy"); + lua_gettable(L,1); + if(lua_isstring(L,-1)) + query->m_Proxy.Set(lua_tostring(L,-1)); + lua_pop(L,1); + + query->m_iType = CHTTPAsyncQuery::HTTP_GET; + AddQuery(query); + return 0; +} + +DECLARE_FUNCTION(http,Post) +{ + luaL_checktype(L,1,LUA_TTABLE); + luaL_checktype(L,2,LUA_TFUNCTION); + luaL_checktype(L,3,LUA_TFUNCTION); + + CHTTPAsyncQuery* query = new CHTTPAsyncQuery; + + lua_pushvalue(L,2); + query->m_iLuaRefOk = lua_refobj(L); + lua_pushvalue(L,3); + query->m_iLuaRefFail = lua_refobj(L); + + lua_pushstring(L,"url"); + lua_gettable(L,1); + if(!lua_isstring(L,-1)) + { + delete query; + lua_pop(L,1); + luaL_error(L,"url must be specifed in table!"); + return 0; + } + query->m_Url.Set(lua_tostring(L,-1)); + lua_pop(L,1); + + lua_pushstring(L,"args"); + lua_gettable(L,1); + if(!lua_isstring(L,-1)) + { + delete query; + lua_pop(L,1); + luaL_error(L,"args must be specifed in table!"); + return 0; + } + query->m_Args.Set(lua_tostring(L,-1)); + lua_pop(L,1); + + lua_pushstring(L,"useragent"); + lua_gettable(L,1); + if(lua_isstring(L,-1)) + query->m_UserAgent.Set(lua_tostring(L,-1)); + lua_pop(L,1); + + lua_pushstring(L,"proxy"); + lua_gettable(L,1); + if(lua_isstring(L,-1)) + query->m_Proxy.Set(lua_tostring(L,-1)); + lua_pop(L,1); + + query->m_iType = CHTTPAsyncQuery::HTTP_POST; + AddQuery(query); + return 0; +} + +DECLARE_FUNCTION(http,PostMultipart) +{ + luaL_checktype(L,1,LUA_TTABLE); + luaL_checktype(L,2,LUA_TFUNCTION); + luaL_checktype(L,3,LUA_TFUNCTION); + + CHTTPAsyncQuery* query = new CHTTPAsyncQuery; + + lua_pushvalue(L,2); + query->m_iLuaRefOk = lua_refobj(L); + lua_pushvalue(L,3); + query->m_iLuaRefFail = lua_refobj(L); + + lua_pushstring(L,"url"); + lua_gettable(L,1); + if(!lua_isstring(L,-1)) + { + delete query; + lua_pop(L,1); + luaL_error(L,"url must be specifed in table!"); + return 0; + } + query->m_Url.Set(lua_tostring(L,-1)); + lua_pop(L,1); + + lua_pushstring(L,"form"); + lua_gettable(L,1); + if(lua_istable(L,-1)) + { + lua_pushnil(L); + while(lua_next(L,-2)) + { + // value -1, key -2, table -3 + CHTTPAsyncQuery::formdata_t form; + int iLen = lua_strlen(L,-1); + + char* pBuf = new char[iLen]; + memcpy(pBuf,lua_tostring(L,-1),iLen); + + form.m_pData = pBuf; + form.m_uSize = iLen; + form.m_Name.Set(lua_tostring(L,-2)); + query->m_PostForms.AddToTail(form); + lua_pop(L,1); + } + } + lua_pop(L,1); + + lua_pushstring(L,"file"); + lua_gettable(L,1); + if(lua_istable(L,-1)) + { + lua_pushnil(L); + while(lua_next(L,-2)) + { + // value -1, key -2, table -3 + //Value is a table {NAME,FILENAME,BUF} + CHTTPAsyncQuery::filedata_t file; + + lua_rawgeti(L,-1,1); + file.m_Name.Set(lua_tostring(L,-1)); + lua_rawgeti(L,-2,2); + file.m_FileName.Set(lua_tostring(L,-1)); + lua_rawgeti(L,-3,3); + + int iLen = lua_strlen(L,-1); + char* pBuf = new char[iLen]; + memcpy(pBuf,lua_tostring(L,-1),iLen); + file.m_pData = pBuf; + file.m_uSize = iLen; + + query->m_PostFiles.AddToTail(file); + lua_pop(L,4); + } + } + lua_pop(L,1); + + lua_pushstring(L,"useragent"); + lua_gettable(L,1); + if(lua_isstring(L,-1)) + query->m_UserAgent.Set(lua_tostring(L,-1)); + lua_pop(L,1); + + lua_pushstring(L,"proxy"); + lua_gettable(L,1); + if(lua_isstring(L,-1)) + query->m_Proxy.Set(lua_tostring(L,-1)); + lua_pop(L,1); + + query->m_iType = CHTTPAsyncQuery::HTTP_POSTMULTIPART; + AddQuery(query); + return 0; +} \ No newline at end of file diff --git a/http.h b/http.h new file mode 100644 index 0000000..4ea2192 --- /dev/null +++ b/http.h @@ -0,0 +1,53 @@ +#ifndef __HTTP_H +#define __HTTP_H +#include "tier1.h" +#include "utlstring.h" +#include "utlvector.h" +#include "threadtools.h" +#include "platform.h" +#include "lcurl.h" + +class CHTTPAsyncQuery +{ +public: + enum { + HTTP_GET, + HTTP_POST, + HTTP_POSTMULTIPART + }; + int m_iType; + + CUtlString m_Url; + CUtlString m_Args; + + CUtlString m_UserAgent; + CUtlString m_Proxy; + + typedef struct { + CUtlString m_Name; + size_t m_uSize; + void* m_pData; + } formdata_t; + + typedef struct { + CUtlString m_Name; + CUtlString m_FileName; + size_t m_uSize; + void* m_pData; + } filedata_t; + + CUtlVector m_PostForms; + CUtlVector m_PostFiles; + + CMemPool m_Mem; + int m_iCurlCode; + int m_iHttpCode; + + int m_iLuaRefOk; + int m_iLuaRefFail; +}; + +void AddQuery(CHTTPAsyncQuery*); +void FinishQuery(CHTTPAsyncQuery*); + +#endif \ No newline at end of file diff --git a/json.cpp b/json.cpp new file mode 100644 index 0000000..d18eaec --- /dev/null +++ b/json.cpp @@ -0,0 +1,120 @@ +#include "baselib.h" +#include "json.h" + +DECLARE_LIBRARY("json") +DECLARE_TABLE(json) + +#include "tier0/dbg.h" + +void _CheckNull(void* pPtr,const char* pName,const char* pFile,int iLine) +{ + if(!pPtr) + { + static char szBuf[256] = {0}; + sprintf(szBuf,"%s:%d - !%s", + pFile,iLine,pName); + Error(szBuf); + } +} + +#define CheckNull(a) _CheckNull(a,#a,__FILE__,__LINE__) + +void JsonToTable(lua_State* L,json_value* json); +void PushJsonValue(lua_State* L,json_value* json); + +void JsonArrayToTable(lua_State* L,json_value* json) +{ + lua_newtable(L); + CheckNull(json->u.array.values); + for(unsigned int i = 0; i < json->u.array.length; i++) + { + json_value* val = json->u.array.values[i]; + CheckNull(val); + PushJsonValue(L,val); + lua_rawseti(L,-2,i+1); + } +} + +inline void PushJsonValue(lua_State* L,json_value* json) +{ + switch(json->type) + { + case json_integer: + lua_pushnumber(L,json->u.integer); + break; + case json_double: + lua_pushnumber(L,json->u.dbl); + break; + case json_boolean: + lua_pushboolean(L,json->u.boolean); + break; + case json_string: + lua_pushlstring(L,json->u.string.ptr, + json->u.string.length); + break; + case json_object: + JsonToTable(L,json); + break; + case json_array: + JsonArrayToTable(L,json); + break; + default: + lua_pushnil(L); + } +} + +void JsonToTable(lua_State* L,json_value* json) +{ + DevMsg("json %p json->type %d\n",json,json->type); + lua_newtable(L); + CheckNull(json->u.object.values); + for(unsigned int i = 0; i < json->u.object.length; i++) + { + json_object_entry& obj = json->u.object.values[i]; + CheckNull(obj.name); + lua_pushlstring(L,obj.name,obj.name_length); + if(obj.value->type == json_object) + { + if(!obj.value) + lua_pushnil(L); + else + { + CheckNull(obj.value); + JsonToTable(L,obj.value); + } + } + else if(obj.value->type == json_array) + { + if(!obj.value->u.array.values) + lua_pushnil(L); + else + { + lua_newtable(L); + //CheckNull(obj.value->u.array.values); + for(unsigned int i = 0; i < obj.value->u.array.length; i++) + { + json_value* value = obj.value->u.array.values[i]; + PushJsonValue(L,value); + lua_rawseti(L,-2,i+1); + } + } + } + else + { + CheckNull(obj.value); + PushJsonValue(L,obj.value); + } + lua_settable(L,-3); + } +} + +DECLARE_FUNCTION(json,ToTable) +{ + luaL_checktype(L,1,LUA_TSTRING); + json_value* json = json_parse(lua_tostring(L,1), + lua_strlen(L,1)); + if(!json) return 0; + JsonToTable(L,json); + json_value_free(json); + return 1; +} \ No newline at end of file diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..f2a4d93 --- /dev/null +++ b/main.cpp @@ -0,0 +1,100 @@ +#define GAME_DLL +#include "plugin.h" +#include "baselib.h" +#include "tier1.h" +#include "threadtools.h" +#include "http.h" +#include "lua.h" + +DECLARE_PLUGIN(CSDKHTTP) + virtual bool Load(CreateInterfaceFn,CreateInterfaceFn); + virtual void GameFrame(bool); + virtual bool LuaInit(lua_State*); + + void ProcessResponse(CHTTPAsyncQuery*); + + lua_State* L; + CThreadFastMutex m_Lock; + CUtlVector m_Responses; +END_PLUGIN(CSDKHTTP,"GLua9 HTTP"); + +void FinishQuery(CHTTPAsyncQuery* query) +{ + //s_CSDKHTTP.m_Lock.Lock(); + s_CSDKHTTP.m_Responses.AddToTail(query); + //s_CSDKHTTP.m_Lock.Unlock(); + + DevMsg("Query %p finished\n",query); +} + +bool CSDKHTTP::Load(CreateInterfaceFn,CreateInterfaceFn) +{ + return true; +} + +void CSDKHTTP::GameFrame(bool bSimulating) +{ + //m_Lock.Lock(); + for(int i = 0; i < m_Responses.Count();) + { + CHTTPAsyncQuery* query = m_Responses[i]; + DevMsg("MainThrd catch query %p\n",query); + ProcessResponse(query); + delete query; + m_Responses.Remove(i); + } + //m_Lock.Unlock(); +} + +bool CSDKHTTP::LuaInit(lua_State* _L) +{ + L = _L; + CLuaLibrary::Init(L); + return true; +} + +int _aterror(lua_State* L) +{ + return g_pLua502->GetLuaCallbacks()->OnLuaError(L); +} + +void CSDKHTTP::ProcessResponse(CHTTPAsyncQuery* query) +{ + lua_pushcfunction(L,_aterror); + int iHandler = lua_gettop(L); + + if(query->m_iCurlCode == CURLE_OK) + { + lua_pushref(L,query->m_iLuaRefOk); + if(!lua_isfunction(L,-1)) + { + lua_pop(L,2); + lua_unrefobj(L,query->m_iLuaRefOk); + lua_unrefobj(L,query->m_iLuaRefFail); + return; + } + + lua_pushlstring(L,(const char*)query->m_Mem.m_pMem, + query->m_Mem.m_uSize); + lua_pushnumber(L,query->m_iHttpCode); + lua_pcall(L,2,0,iHandler); + } + else + { + lua_pushref(L,query->m_iLuaRefFail); + if(!lua_isfunction(L,-1)) + { + lua_pop(L,2); + lua_unrefobj(L,query->m_iLuaRefOk); + lua_unrefobj(L,query->m_iLuaRefFail); + return; + } + + lua_pushnumber(L,query->m_iCurlCode); + lua_pcall(L,1,0,iHandler); + } + + lua_unrefobj(L,query->m_iLuaRefOk); + lua_unrefobj(L,query->m_iLuaRefFail); + lua_pop(L,1); //Remove handler +} \ No newline at end of file diff --git a/sdk_http.vcxproj b/sdk_http.vcxproj new file mode 100644 index 0000000..915344c --- /dev/null +++ b/sdk_http.vcxproj @@ -0,0 +1,80 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {0590CDBB-7088-4957-8FD9-64F6473041A4} + sdk_http + + + + Application + true + MultiByte + + + DynamicLibrary + false + true + MultiByte + + + + + + + + + + + + + ..\..\..\GMod9Dev_Server\gmod9\lua\bin + + + + Level3 + Disabled + + + true + + + + + Level3 + MaxSpeed + true + true + D:\source2006\public\dlls;D:\source2006\dlls\hl2_dll;D:\source2006\game_shared\hl2;D:\source2006\game_shared\hl2mp;D:\source2006\game_shared;D:\source2006\dlls;D:\source2006\public\tier1;D:\source2006\public\tier0;D:\source2006\public;D:\source2006\common;D:\lua502\lua\lua502_sdk;D:\libcurl\builds\libcurl-vc10-x86-release-dll-ipv6-sspi-winssl\include;D:\crusader\platform;D:\json-parser;%(AdditionalIncludeDirectories) + _SSDK;%(PreprocessorDefinitions) + + + true + true + true + D:\source2006\lib\public;D:\lua502\lua\Release;D:\libcurl\builds\libcurl-vc10-x86-release-dll-ipv6-sspi-winssl\lib;D:\crusader\Release;D:\json-parser\Release;%(AdditionalLibraryDirectories) + lua502_sdk.lib;vstdlib.lib;tier0.lib;tier1.lib;platform.lib;jsonlib.lib;libcurl.lib;%(AdditionalDependencies) + LIBCMT.lib;%(IgnoreSpecificDefaultLibraries) + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sdk_http.vcxproj.filters b/sdk_http.vcxproj.filters new file mode 100644 index 0000000..e179be2 --- /dev/null +++ b/sdk_http.vcxproj.filters @@ -0,0 +1,33 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Файлы исходного кода + + + Файлы исходного кода + + + Файлы исходного кода + + + + + Заголовочные файлы + + + \ No newline at end of file diff --git a/sdk_http.vcxproj.user b/sdk_http.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/sdk_http.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file