I hereby claim:
- I am ihsangan on github.
- I am ihsangans (https://keybase.io/ihsangans) on keybase.
- I have a public key ASDwLPordAgg0m1gJhVkbd0OZlyi2lWV55m4HuB5akUCtQo
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
async function handleRequest(request) { | |
const url = new URL(request.url) | |
// change the hostname | |
url.hostname = "example.domain.com" | |
let req = new Request(url, request) | |
let response = await fetch(req, { | |
// RequestInitCfProperties | |
// see: https://developers.cloudflare.com/workers/runtime-apis/request#requestinitcfproperties | |
cf: { | |
minify: { javascript: true, css: true, html: true }, |
async function handleRequest(request) { | |
const url = new URL(request.url); | |
// change the hostname | |
url.hostname = "rule34.paheal.net"; | |
let req = new Request(url, request); | |
const response = await fetch(req, { | |
// RequestInitCfProperties | |
// see: https://developers.cloudflare.com/workers/runtime-apis/request#requestinitcfproperties | |
cf: { | |
minify: { |
async function handleRequest(request) { | |
let ms = Date.now() | |
let add = new Date(ms + 604800000) | |
const url = new URL(request.url) | |
url.hostname = "ihsangan.github.io" | |
let req = new Request(url, request) | |
let response = await fetch(req, { | |
cf: { | |
minify: { javascript: true, css: true, html: true }, | |
cacheTtl: 86400, |
async function readRequestBody(request) { | |
const { headers } = request; | |
const contentType = headers.get('content-type') || ''; | |
if (contentType.includes('application/json')) { | |
return JSON.stringify(await request.json()); | |
} else if (contentType.includes('form')) { | |
const formData = await request.formData(); | |
const body = {}; | |
for (const entry of formData.entries()) { | |
body[entry[0]] = entry[1]; |
A Pen by Robin Selmer on CodePen.
async function AboutMe() {
const name = 'Muhammad Ihsan';
}
dig NS +additional +trace takeover.us.kg. @208.67.222.222
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.15.tuxcare.els1 <<>> NS +additional +trace takeover.us.kg. @208.67.222.222
;; global options: +cmd
. 518400 IN NS a.root-servers.net.
. 518400 IN NS b.root-servers.net.
. 518400 IN NS c.root-servers.net.
. 518400 IN NS d.root-servers.net.
. 518400 IN NS e.root-servers.net.
. 518400 IN NS f.root-servers.net.
Masih kuingat hari pertama bertemu Vue-chan di sebuah tech conference. Saat itu aku hanyalah seorang developer yang lelah dengan vanilla JavaScript. Di tengah keramaian, mataku terpaku pada sosoknya yang anggun dengan logo berwarna hijau yang menenangkan. "A-ano... kamu kelihatan bingung. Mau aku ajari cara membuat website yang reactive?" sapanya malu-malu. Hatiku langsung berdebar. Cara bicaranya yang lembut dan dokumentasinya yang begitu jelas membuatku jatuh cinta pada pandangan pertama. Awalnya Vue-chan mengajariku dengan Options API, pendekatan tradisional yang mudah dipahami:
<script>
export default {
data() {
return {