PHP Classes

File: test/js/test-timeout.js

Recommend this page to a friend!
  Packages of Nikos M.   Eazy HTTP   test/js/test-timeout.js   Download  
File: test/js/test-timeout.js
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: Eazy HTTP
Send HTTP requests defined with a fluent interface
Author: By
Last change: v.1.2.0

* python socket implementation
* various edits, corrections
Date: 7 months ago
Size: 1,766 bytes
 

Contents

Class file image Download
// run "php -S 127.0.0.1:9000 test-server.php" "use strict"; const fs = require('fs'); const EazyHttp = require('../../src/js/EazyHttp.js'); async function test() { function file_put_contents(file, content) { // promisify return new Promise(function(resolve, reject) { fs.writeFile(file, content, err => { if (err) reject(err); else resolve(true); }); }); } function request(do_http, uri, timeout) { // returns promise return (new EazyHttp()).option('methods', [do_http]).option('timeout', timeout).get('http://127.0.0.1:9000' + uri); } let response; try { response = await request('fetch', '/test/timeout.php?delay=2', 5); await file_put_contents(__dirname+'/test-timeout-fetch.php.txt', response.content); } catch (error) { console.error(error); } try { response = await request('http', '/test/timeout.php?delay=2', 5); await file_put_contents(__dirname+'/test-timeout-http.php.txt', response.content); } catch (error) { console.error(error); } try { response = await request('fetch', '/test/timeout.php?delay=10', 5); await file_put_contents(__dirname+'/test-timeout-max-fetch.php.txt', JSON.stringify(response)); } catch (error) { console.error(error); } try { response = await request('http', '/test/timeout.php?delay=10', 5); await file_put_contents(__dirname+'/test-timeout-max-http.php.txt', JSON.stringify(response)); } catch (error) { console.error(error); } } test().then(() => 1).catch((error) => console.error(error));