Commit d18f4876 authored by Mustafa SAPUT's avatar Mustafa SAPUT
Browse files

İlk commit

parents
function onPost(version) {
const url = "http://localhost:8080/posts";
var headers = {
"Content-Type": "application/json"
};
var adDegeri = document.getElementById('txtAd').value;
var noDegeri = document.getElementById('txtNo').value;
var vizeDegeri = document.getElementById('txtVize').value;
var finalDegeri = document.getElementById('txtFinal').value;
if(adDegeri === "" || vizeDegeri === "" || finalDegeri === "") {
alert("Bilgileri Doldur");
return;
}
fetch(url, {
method : "POST",
mode: 'cors',
headers: headers,
body: JSON.stringify({
ad: adDegeri,
no: noDegeri,
vize: vizeDegeri,
final: finalDegeri
})
})
.then((response) => {
if (!response.ok) {
throw new Error("Hata: " + response.statusText);
}
return response.json();
})
.then(data => {
let gecenlerMetni = "";
data.gecenlerListesi.forEach(function(ogrenci) {
gecenlerMetni += ogrenci.ad + " - " + ogrenci.no + " - " + ogrenci.durum + " (Ort: " + ogrenci.ort + ")\n";
});
document.getElementById('txtGecenler').value = gecenlerMetni;
let kalanlarMetni = "";
data.kalanlarListesi.forEach(function(ogrenci) {
kalanlarMetni += ogrenci.ad + " - " + ogrenci.no + " - " + ogrenci.durum + " (Ort: " + ogrenci.ort + ")\n";
});
document.getElementById('txtKalanlar').value = kalanlarMetni;
})
.catch(function(error) {
console.log(error);
alert("Hata: " + error);
});
}
\ No newline at end of file
<html>
<head>
<meta charset="UTF-8" />
<title>Vize Final Hesap</title>
<script src="control.js"></script>
</head>
<body>
<textarea id="messages" style="display:none"></textarea>
<textarea id="headers" style="display:none"></textarea>
<form>
<input type="text" id="txtAd" placeholder="Ad Soyad" />
<input type="text" id="txtNo" placeholder="Numara" /> <br><br>
<input type="number" id="txtVize" placeholder="Vize Notu" />
<input type="number" id="txtFinal" placeholder="Final Notu" />
<input type="button" value="HESAPLA VE KAYDET" onclick="onPost()"/>
</form>
<hr>
<div class="container">
<div class="kutu">
<h3>GEÇENLER</h3>
<textarea id="txtGecenler" rows="20" style="width:100%" readonly></textarea>
</div>
<div class="kutu">
<h3>KALANLAR</h3>
<textarea id="txtKalanlar" rows="20" style="width:100%" readonly></textarea>
</div>
</div>
</body>
</html>
\ No newline at end of file
module.exports = [];
\ No newline at end of file
module.exports = (request, response) => {
const url = request.url.split("?")[0];
switch (url) {
case "/posts":
const id = request.query.searchParams.get("id");
response.statusCode = 200;
response.setHeader('Access-Control-Allow-Origin', '*');
response.setHeader("Content-Type", "application/json");
request.posts.splice(id, 1);
response.write(JSON.stringify(request.posts));
response.end();
break;
default:
response.statusCode = 400;
response.write(`CANNOT DELETE ${request.url}`);
response.end();
break;
}
};
module.exports = (request, response) => {
const url = request.url.split("?")[0]
switch(url){
case "/posts":
let gecenler = request.posts.filter(ogr => ogr.ortalama >= 50);
let kalanlar = request.posts.filter(ogr => ogr.ortalama < 50);
response.statusCode = 200;
response.setHeader('Access-Control-Allow-Origin', '*');
response.setHeader("Content-Type", "application/json");
response.write(JSON.stringify({
gecenler: gecenler,
kalanlar: kalanlar
}));
response.end();
break;
default:
response.statusCode = 400;
response.write(`CANNOT GET ${request.url}`)
response.end()
break
}
}
\ No newline at end of file
module.exports = (request, response, nextMethod) => {
let data = []
request.on("data", dataChunk => {
data.push(dataChunk)
})
request.on("end", () => {
request.body = Buffer.concat(data).toString()
if (request.headers["content-type"] === "application/json"){
request.body = JSON.parse(request.body);
}
nextMethod(request, response)
})
}
module.exports = (request, response) => {
switch (request.url) {
case "/posts":
let gelenNo = request.body.no;
let kayitVar = request.posts.find(ogrenci => ogrenci.no == gelenNo);
if (kayitVar) {
console.log("Bu öğrenci Kayıtlı: " + gelenNo);
}
else {
let vizeNotu = Number(request.body.vize);
let finalNotu = Number(request.body.final);
let ortalama = (vizeNotu * 0.4) + (finalNotu * 0.6);
let durumSonuc = (ortalama >= 50) ? "Geçti" : "Kaldı";
let yeniOgrenci = {
ad: request.body.ad,
no: request.body.no,
vize: vizeNotu,
final: finalNotu,
ort: ortalama.toFixed(2),
durum: durumSonuc
};
request.posts.push(yeniOgrenci);
}
let gecenler = request.posts.filter(item => item.ort >= 50);
let kalanlar = request.posts.filter(item => item.ort < 50);
response.statusCode = 200;
response.setHeader('Access-Control-Allow-Origin', '*');
response.setHeader("Content-Type", "application/json");
response.write(JSON.stringify({
tumListe: request.posts,
gecenlerListesi: gecenler,
kalanlarListesi: kalanlar
}));
response.end();
break;
default:
response.statusCode = 400;
response.write(`CANNOT POST ${request.url}`);
response.end();
}
};
\ No newline at end of file
module.exports = (request, response) => {
const url = request.url.split("?")[0]
switch(url){
case "/posts":
console.log(request.method);
const id = request.query.searchParams.get("id")
response.statusCode = 200
response.setHeader('Access-Control-Allow-Origin', '*');
response.setHeader("Content-Type", "application/json")
request.posts[id] = request.body
response.write(JSON.stringify(request.posts[id]))
response.end()
break
default:
response.statusCode = 400
response.write(`CANNOT PUT ${request.url}`)
response.end()
break
}
}
const http = require("http");
const PORT = process.env.PORT || 8080;
require("url")
const posts = require("./data/data");
const get = require("./methods/get");
const post = require("./methods/post");
const put = require("./methods/put");
const del = require("./methods/delete");
const getBody = require("./methods/getBody")
const server = http.createServer((request, response) => {
request.posts = posts
request.query = new URL(request.url, `http://${request.headers.host}`)
switch (request.method) {
case "GET":
getBody(request, response, get);
break;
case "POST":
getBody(request, response, post);
break;
case "PUT":
getBody(request, response, put);
break;
case "DELETE":
getBody(request, response, del);
break;
case "OPTIONS":
response.setHeader('Access-Control-Allow-Origin', '*');
response.setHeader('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
response.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
response.statusCode = 204;
response.write("OK Response");
response.end();
break;
default:
response.statusCode = 400;
response.write("No Response");
response.end();
}
});
server.listen(PORT, (err) => {
err ? console.error(err) : console.log(`listening on port ${PORT}`);
});
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