Unverified Commit f45a2918 authored by Rob Loach's avatar Rob Loach Committed by GitHub
Browse files

Merge pull request #258 from libretro/dev

0.22.1
parents ba99b753 f92f6f4e
......@@ -46,6 +46,3 @@
[submodule "vendor/TinySHA1"]
path = vendor/TinySHA1
url = https://github.com/mohaps/TinySHA1.git
[submodule "vendor/ChaiScript_Extras_Http"]
path = vendor/ChaiScript_Extras_Http
url = https://github.com/RobLoach/ChaiScript_Extras_Http.git
......@@ -4,11 +4,13 @@ All notable changes to [ChaiLove](https://github.com/RobLoach/ChaiLove) will be
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
## 0.22.1 - 2018-05-06
- Removed `Http()` due to cross-platform incompatibility
## 0.22.0 - 2018-05-06
### Features
- `love.filesystem.createDirectory()` to make directories
- `love.filesystem.write()` to write a file in the save directory
- `Http()` to make HTTP requests
### Fixes
- Fix debug build due to undefined "z_error" and "z_verbose" in zlib
......
......@@ -154,11 +154,6 @@ ifeq ($(HAVE_CHAISCRIPT),)
FLAGS += -DCHAISCRIPT_NO_THREADS -DCHAISCRIPT_NO_THREADS_WARNING -DCHAISCRIPT_NO_DYNLOAD
endif
# ChaiScript Extras Http
ifeq ($(HAVE_CHAISCRIPT),)
FLAGS += -I$(CORE_DIR)/vendor/ChaiScript_Extras_Http/include
endif
# SDL
ifeq ($(platform), win)
SOURCES_C += $(wildcard ./vendor/sdl-libretro/src/*.c ./vendor/sdl-libretro/src/audio/*.c ./vendor/sdl-libretro/src/cdrom/dummy/*.c ./vendor/sdl-libretro/src/cdrom/*.c ./vendor/sdl-libretro/src/cpuinfo/*.c ./vendor/sdl-libretro/src/events/*.c ./vendor/sdl-libretro/src/file/*.c ./vendor/sdl-libretro/src/stdlib/*.c ./vendor/sdl-libretro/src/thread/*.c ./vendor/sdl-libretro/src/timer/*.c ./vendor/sdl-libretro/src/video/*.c ./vendor/sdl-libretro/src/joystick/*.c ./vendor/sdl-libretro/src/video/libretro/*.c ./vendor/sdl-libretro/src/joystick/libretro/*.c ./vendor/sdl-libretro/src/timer/libretro/*.c ./vendor/sdl-libretro/src/audio/libretro/*.c ./vendor/sdl-libretro/src/thread/win32/SDL_sysmutex.c ./vendor/sdl-libretro/src/thread/win32/SDL_syssem.c ./vendor/sdl-libretro/src/thread/win32/SDL_systhread.c ./vendor/sdl-libretro/src/thread/generic/SDL_syscond.c ./vendor/sdl-libretro/src/loadso/dummy/*.c)
......
#ifndef SRC_CHAILOVEDOCS_HTTP_H_
#define SRC_CHAILOVEDOCS_HTTP_H_
/**
* Allows downloading of files over HTTP (no https).
*
* @code
* var request = Http("http://example.com/index.html")
* while (request.process() == "pending") {
* print("Please Wait...")
* }
* if (request.getStatus() == "failed") {
* print("Failed: " + request.getReasonPhrase())
* }
* global response = request.getResponseString()
* print(response)
* @endcode
*/
class Http {
public:
/**
* Create a Http() object, to request the given URL.
*/
Http(const std::string& url);
/**
* Retrieve the status code.
*/
int getStatusCode();
~Http();
std::string process();
/**
* Retrieve the status code.
*/
std::string getStatus();
/**
* Retrieve the content type.
*/
std::string getContentType();
/**
* Reason why the request failed.
*/
std::string getReasonPhrase();
/**
* Retrieve a string representation of the requested data.
*/
std::string getResponseString();
/**
* Retrieve the size of the response data.
*/
int getResponseSize();
}
#endif
......@@ -5,8 +5,6 @@
#ifdef __HAVE_CHAISCRIPT__
#include "chaiscript/extras/math.hpp"
using namespace chaiscript;
#define HTTP_IMPLEMENTATION
#include "chaiscript/extras/http.hpp"
#endif
using ::ChaiLove;
......@@ -81,9 +79,6 @@ script::script(const std::string& file) {
chaiscript::bootstrap::standard_library::list_type<std::list<chaiscript::Boxed_Value> >("List", *listModule);
chai.add(listModule);
auto httplib = chaiscript::extras::http::bootstrap();
chai.add(httplib);
// Add the "love" namespace.
chai.register_namespace([](chaiscript::Namespace& love) {
ChaiLove* app = ChaiLove::getInstance();
......
var request = Http("http://example.com/index.html")
while (request.process() == "pending") {
print("Please Wait...")
}
if (request.getStatus() == "failed") {
print("Failed: " + request.getReasonPhrase())
}
global response = request.getResponseString()
assert_greater(response.find("Example Domain"), 10, "Http()")
......@@ -15,7 +15,6 @@ def load() {
love.filesystem.load("data")
love.filesystem.load("filesystem")
love.filesystem.load("font")
love.filesystem.load("http")
love.filesystem.load("graphics")
love.filesystem.load("image")
love.filesystem.load("list")
......
Subproject commit 56366657470b2559247a5e5e629d8107f62a9474
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment