Comments (4)
If you put a console.error("Been called") line in the createServer callback you will see that the callback is hit twice.
I suspect that the "through" module is keeping some sort of state that is getting out of sync when there is only one copy. This is just a theory at this point.
from stream-adventure.
There's no bug here.
You need to create a separate instance of your through stream for each request. You cannot share one instance of the through stream amongst requests. Bad things happen. This works as expected:
var http = require('http')
through = require('through');
function write(buf) {
this.queue(buf.toString().toUpperCase());
}
var server = http.createServer(function(req, res){
if(req.method === 'POST') {
req.pipe(through(write)).pipe(res);
}
}).listen(process.argv[2]);
from stream-adventure.
@theturtle32 Thanks! That makes sense. I was getting the same problem.
from stream-adventure.
Phew, relief. I'm not going mad. I was just about to post with the same observation. Now that you point it out, it does stand to reason that you wouldn't want different requests sharing the same through stream.
from stream-adventure.
Related Issues (20)
- update html_stream exercise HOT 2
- add exercise about implement a writable stream
- add problem to use async generators and iterators
- add/update problem to use stream pipeline
- add problem about stream object mode HOT 1
- duplexer-redux uses [object Object] HOT 1
- Read_IT instructions need reviewed HOT 4
- Why does this need to be a duplex HOT 1
- "Read It" problem lacks clear instructions HOT 1
- data fed to stdin for the "lines" problem has no new lines in it, please fix
- Some text will not show in Windows 10 with Git Bash HOT 1
- cosmetic: IMHO we should adjust some texts HOT 2
- (almost) npm free solutions HOT 2
- Cannot finish the Lesson 7 HOT 2
- ENOTCONN error in combiner
- combiner challenge - ERR_STREAM_CANNOT_PIPE (not readable) HOT 1
- Secretz seems broken HOT 2
- Unable to complete Lesson 7 HOT 4
- TypeError while running Exercise 13 (DUPLEXER) and 14 (DUPLEXER REDUX) HOT 1
- Write-to-me: Instructions vague
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from stream-adventure.