Service Response
Service response adalah service yang menyediakan method-method dan properti
tentang response yang akan dikirim ke user. Service response bisa diakses dari
kontroler, service, dan middleware dengan perintah $this->res->$method
.
Method yang disediakan oleh service ini adalah:
addContent(string $text, bool $truncate=false): void
Menambahkan konten ke response yang akan dikirim. Parameter $truncate
menentukan
apakah konten sebelumnya harus di tindih, atau ditambahkan.
addCookie(string $name, string $value, int $expires=604800): void
Fungsi untuk menambahkan cookie ke response. Nilai parameter $expires
adalah
lamanya cookie disimpan, bukan tanggal expired. Contoh nilai yang benar adalah
(60*60*2)
untuk menyimpan cookie selama 2 jam. Jika cookie dengan nama yang
sama sudah ada, maka cookie yang lama akan ditindih.
addHeader(string $name, string $value, bool $append=true): void
Fungsi untuk menambahkan header ke response yang akan dikirim. Parameter $append
berfungsi untuk menambahkan header walaupun header tersebut sudah ada. Jika nilai
parameter tersebut adalah false
, maka header dengan nama yang sama yang di set
sebelumnya akan ditindih.
getCache(): int
Mengambil nilai $expires
yang diset oleh fungsi setCache
sebelumnya. Jika
belum pernah diset, maka akan mengembalikan null
.
getContent(): string
Mengambil konten yang diset oleh fungsi addContent
sebelumnya. Jika belum pernah
diset, maka akan mengembalikan nilai empty string.
getCookie(string $name=null)
Mengambil data cookie yang sudah di set sebelumnya. Jika parameter $name
tidak
di set, maka semua konten cookie yang sudah diset sebelumnya akan dikembalikan.
getHeader(string $name=null)
Mengambil data header yang diset oleh fungsi addHeader
sebelumnya. Jika tidak
pernah diset, maka nilai null
akan dikembalikan. Jika parameter $name
tidak
di set, maka semua data header yang sudah diset akan dikembalikan. Perlu diketahui
bahwa, ketika data yang diminta ada, maka array akan dikembalikan, walaupun nilai
dari array tersebut hanya satu member.
getStatus(): int
Mengambil header status kode yang sudah di set.
redirect($url, $code=302): void
Fungsi meredirect user ke suatu url dengan http header code. Jika nilai $code
adalah 200
, maka proses redirect akan menggunakan html/js dengan http header
code 200.
removeCache(): void
Menghapus data cache yang diset oleh fungsi setCache
sebelumnya.
removeContent(): void
Mengosongkan konten yang diset oleh fungsi addContent
sebelumnya.
removeCookie(string $name=null): void
Menghapus cookie yang diset oleh fungsi addCookie
sebelumnya. Jika parameter
$name
tidak diset, maka semua cookie akan dihapus.
removeHeader(string $name=null, string $value=null): void
Menghapus header yang diset oleh fungsi addHeader
sebelumnya. Jika parameter
$name
tidak diset, maka semua header akan dihapus. Jika parameter $value
diset
maka hanya nilai tersebut yang akan dihapus jika header dengan nama tersebut memiliki
beberapa nilai.
render(string $view, array $params=[], string $gate=null): void
Method untuk menggenerasi view, dan menambahkan konten yang digenerasi ke dalam
response. Method ini hanya bisa digunakan jika module lib-view
terpasang.
send(bool $callback=true): void
Method untuk mengirimkan konten ke client. Parameter callback
menentukan apakan
callback event core.printing
perlu di panggil atau tidak.
setCache(int $expires): void
Menset cache dan header ETag
. Nilai parameter $expires
adalah lamanya konten
akan di cache, bukan tanggal expires. Contoh nilai yang benar adalah (60*60*2)
untuk mencache selama 2 jam. Method ini bisa digunakan jika module lib-cache-output
terpasang.
setStatus(int $status=200): void
Set header response status code.