📝 Added sandbox (code sketchbook)

This commit is contained in:
z3rOR0ne 2023-04-22 00:41:54 -07:00
parent b475595f7f
commit b5daf18b1a
142 changed files with 100702 additions and 0 deletions

View file

@ -0,0 +1,20 @@
### A Very Basic Set Up for Server Side Events Using Node/ExpressJS
This very basic project is a set up to scaffold a working backend in
Node/ExpressJS for server side events.
It is a small adjustment to [Hussein Nasser's youtube video on the topic](https://www.youtube.com/watch?v=4HlNv1qpZFY).
__Installing and Getting Started__
```
git clone <this_repo_url>
```
```
cd <this_repo_name>
```
```
npm install
```
```
npm run start
```

View file

@ -0,0 +1,44 @@
const express = require('express')
const route = express.Router()
const app = express()
// const bodyParser = require('body-parser')
const path = require('path')
const cors = require('cors')
// middleware
app.use(
cors({
origin: true,
credentials: true,
}),
)
// app.use(bodyParser.urlencoded({ extended: false }))
// app.use(express.static(path.join(__dirname, 'public')))
// may not be necessary...
// app.use(express.json())
// routes
// route.get('/', (req, res) =>
// res.sendFile(__dirname + '/index.html'))
app.get('/stream', (req, res) => {
console.log('Client Connected')
res.setHeader('Content-Type', 'text/event-stream')
// res.setHeader('Access-Control-Allow-Origin', '*')
let i = 0
const intervalId = setInterval(() => {
// const date = new Date().toLocaleString()
// res.write(`data: ${date}\n\n`)
res.write(`data: hello: ${i++}\n\n`)
}, 1000)
res.on('close', () => {
console.log('Client closed connection')
clearInterval(intervalId)
res.end()
})
// send(res)
})
// server
app.listen(8080, () => console.log('listening on 8080'))

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,18 @@
{
"name": "node_sse",
"version": "1.0.0",
"description": "small sse for educational purposes",
"main": "index.js",
"scripts": {
"start": "nodemon index.js"
},
"author": "tomit4",
"license": "BSD-3-Clause",
"dependencies": {
"cors": "^2.8.5",
"express": "^4.18.2"
},
"devDependencies": {
"nodemon": "^2.0.22"
}
}