Putri
Nim : 2116001
Mata kuliah : Web Service (A)
<appointmentRequest>
<patient id = "jsmith"/>
</appointmentRequest>
var http = require('http');
1
var port = process.env.port || 1337;
2
3
var onRequest = function (request, response) {
4
console.log(request.headers);
5
};
6
7
var server = http.createServer(onRequest);
8
server.listen(port, 'localhost');
9
1 {
2 host: 'localhost:1337',
3 connection: 'keep-alive',
4 accept: '*/*',
5 'user-agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/41.0.2272.89 Safari/537.3
7 'accept-language': 'id,en;q=0.8,en-US;q=0.6',
8 cookie: 'thelia_cart=546c25890d8bc7.53190152',
9 }
<appointmentRequest>
<patient id = "jsmith"/>
</appointmentRequest>
Pembacaan Data dalam Entity Body
Beberapa method lain di luar GET mengirimkan data melalui entity body dari sebuah
HTTP Request. Untuk mengakses data yang dikirimka, kita dapat
melakukan buffering data ke dalam sebuah string. Pada NodeJS, data ini dapat dibaca
melalui event data di dalam objek http.IncomingMessage. Ketika seluruh data telah selesai
dibaca, maka event end akan dieksekusi. Berikut adalah contoh kode untuk
pembacaan data:
4 });
6 request.on('end', function () {
9 });
2. HTTP Response
<appointmentRequest>
<patient id = "jsmith"/>
</appointmentRequest>
HTTP Response yang diberikan oleh server NodeJS merupakan objek
bertipe http.ServerResponse, yang juga mengimplementasikan
antarmuka stream.Writable(dokumentasi stream.Writable). Karenanya, penulisan HTTP
Response akan menggunakan konsep penulisan stream yang sama dengan bahasa
pemrograman pada umumnya.
Secara sederhana, untuk menuliskan data dengan stream.Writable, kita akan melakukan dua hal
berurutan:
Pada sebuah kode server sederhana, penulisan respon akan dilakukan seperti berikut:
<appointmentRequest>
<patient id = "jsmith"/>
</appointmentRequest>
1 var http = require("http");
5 response.write("Hello World");
6 response.end();
7 });
9 server.listen(port, 'localhost');
<appointmentRequest>
<patient id = "jsmith"/>
</appointmentRequest>
http.ServerResponsememiliki beberapa fungsi-fungsi tambahan, yaitu (semua fungsi di bawah
adalah untuk objek http.ServerResponse):
<appointmentRequest>
<patient id = "jsmith"/>
</appointmentRequest>
konstruksi headerHTTP dapat dilakukan dengan cukup mudah, hanya dengan mengikuti
urutan penulisan pesan, yaitu:
kita dapat menggunakan modul fs untuk membaca file dan menuliskan kontennya seperti
berikut:
1 var fs = require('fs');
6 content += data;
7 });
9 file.on('end', function () {
10 result = content;
11
12 response.writeHead(200, 'OK', {
13 'Content-Type': 'text/html',
14 'Content-Length': result.length
15 });
16
17 response.write(result);
18 response.end();
19 });
<appointmentRequest>
<patient id = "jsmith"/>
</appointmentRequest>
Untuk request seperti PUT yang biasanya dikirimkan dalam bentuk data langsung, misalnya:
<appointmentRequest>
<patient id = "jsmith"/>
</appointmentRequest>