How to Simulate Long HTTP Requests
It happens less frequently these days but there are times when we need to accommodate for a HTTP request timing out. The service could be down, under heavy traffic, or just poorly coded, or any host of other issues.
Whenever I need to simulate a long HTTP request, I use a bit of PHP to make it happen:
<?php
// Don't resolve this request for 5 seconds
sleep(5);
// A generic response
echo 'This is the response!';
// ... or hit a URL to make the case more realistic
echo file_get_contents('https://website.tld/endpoint');
?>
With that script created, I make PHP start a server so I can make the request locally:
php -S localhost:8000
Now I can hit http://localhost:8000
and get the long request I want!
There are a number of ways you can accomplish these long form requests but this has always been a favorite of mine!
![7 Essential JavaScript Functions]()
I remember the early days of JavaScript where you needed a simple function for just about everything because the browser vendors implemented features differently, and not just edge features, basic features, like addEventListener
and attachEvent
. Times have changed but there are still a few functions each developer should...
![CSS @supports]()
Feature detection via JavaScript is a client side best practice and for all the right reasons, but unfortunately that same functionality hasn't been available within CSS. What we end up doing is repeating the same properties multiple times with each browser prefix. Yuck. Another thing we...
![Introducing MooTools LazyLoad]()
Once concept I'm very fond of is lazy loading. Lazy loading defers the loading of resources (usually images) until they are needed. Why load stuff you never need if you can prevent it, right? I've created LazyLoad, a customizable MooTools plugin that...
![Image Data URIs with PHP]()
If you troll page markup like me, you've no doubt seen the use of data URI's within image src attributes. Instead of providing a traditional address to the image, the image file data is base64-encoded and stuffed within the src attribute. Doing so saves...
That’s cool! Thanks for the tip.
I could see having it take a query param to set the sleep time arbitrarily for different scenarios you’re simulating.
Thanks David always love your content.
Although in this particular case i fail to understand a practical use, could you share an example?
thanks !
And here is concise way to do it in NodeJs, the server will wait for 3 seconds before response: