All Projects → timschumi → Gmod Chttp

timschumi / Gmod Chttp

Licence: mit
A HTTP()-compatible wrapper for curl in Garry's Mod.

Projects that are alternatives of or similar to Gmod Chttp

Curlsharp
CurlSharp - .Net binding and object-oriented wrapper for libcurl.
Stars: ✭ 153 (+292.31%)
Mutual labels:  curl, libcurl
Everything Curl
The book documenting the curl project, the curl tool, libcurl and everything related to this.
Stars: ✭ 885 (+2169.23%)
Mutual labels:  curl, libcurl
Lua Curlv3
Lua binding to libcurl
Stars: ✭ 197 (+405.13%)
Mutual labels:  curl, libcurl
Katipo
HTTP2 client for Erlang based on libcurl and libevent
Stars: ✭ 90 (+130.77%)
Mutual labels:  curl, libcurl
Curl For Win
Reproducible curl (and OpenSSL) binaries for Windows
Stars: ✭ 352 (+802.56%)
Mutual labels:  curl, libcurl
libopenTIDAL
TIDAL API interface written in ANSI C
Stars: ✭ 17 (-56.41%)
Mutual labels:  curl, libcurl
fortran-curl
Fortran 2008 interface bindings to libcurl
Stars: ✭ 25 (-35.9%)
Mutual labels:  curl, libcurl
flutter curl
Flutter plugin to use libcurl for HTTP calls
Stars: ✭ 42 (+7.69%)
Mutual labels:  curl, libcurl
request-extra
⚡️ Extremely stable HTTP request module built on top of libcurl with retries, timeouts and callback API
Stars: ✭ 14 (-64.1%)
Mutual labels:  curl, libcurl
curly.hpp
Simple cURL C++17 wrapper
Stars: ✭ 48 (+23.08%)
Mutual labels:  curl, libcurl
Curl
A command line tool and library for transferring data with URL syntax, supporting DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP. libcurl offers a myriad of powerful features
Stars: ✭ 22,875 (+58553.85%)
Mutual labels:  curl, libcurl
Node Libcurl
libcurl bindings for Node.js
Stars: ✭ 447 (+1046.15%)
Mutual labels:  curl, libcurl
Curlcpp
An object oriented C++ wrapper for CURL (libcurl)
Stars: ✭ 462 (+1084.62%)
Mutual labels:  curl, libcurl
Faster Than Requests
Faster requests on Python 3
Stars: ✭ 639 (+1538.46%)
Mutual labels:  curl
Curlie
The power of curl, the ease of use of httpie.
Stars: ✭ 877 (+2148.72%)
Mutual labels:  curl
Micropython esp32 psram lobo
MicroPython for ESP32 with psRAM support
Stars: ✭ 636 (+1530.77%)
Mutual labels:  libcurl
Unifi Api Client
A PHP API client class to interact with Ubiquiti's UniFi Controller API
Stars: ✭ 602 (+1443.59%)
Mutual labels:  curl
Gdown
Download a large file from Google Drive (curl/wget fails because of the security notice).
Stars: ✭ 962 (+2366.67%)
Mutual labels:  curl
Httr
httr: a friendly http package for R
Stars: ✭ 897 (+2200%)
Mutual labels:  curl
Urllib
Request HTTP(s) URLs in a complex world
Stars: ✭ 600 (+1438.46%)
Mutual labels:  curl

gmod-chttp

This project aims to provide an open-source drop-in replacement for GMod's built-in HTTP module. It provides the same interface as the original to allow for replacing it easily.

The module should provide all the functions that the original has (in terms of request methods and arguments). However, it doesn't yet behave like the original in all edge cases, especially when it comes to deviating from the spec (for example just omitting the request body on DELETE requests).

Installation

The only thing required to install the library is to download the appropriate file from the releases page and putting it into the <game or server directory>/garrysmod/lua/bin/ directory. (The bin directory might not exist and should be created manually.)

Attention has to be paid to whether you are using the x86 or x64 version of the game/server. Servers and clients are both x86 by default, unless manually changed by joining the appropriate beta.

Contrary to earlier releases, installing libcurl and its dependencies ISN'T required anymore, since those are now included in the library itself.

Also, all Linux libraries are now compiled on Debian 9 for compatibility reasons, so there is no longer a seperate compatibility version of the library.

Usage

This is only required for developers who want to use CHTTP in their scripts. A normal end user doesn't need any of this.

The module is loaded by running require("chttp") in the LUA console or in a script. It will provide a CHTTP() method that is called in the same way as the original HTTP-Method. For more information, please refer to the Garry's Mod documentation.

In the use case where you want to use CHTTP instead of HTTP if it's available, use the following code snippet to load it:

if pcall(require, "chttp") and CHTTP ~= nil then
	HTTP = CHTTP
end
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].