Mengoptimalkan Pengembangan Lokal dengan Whistle

Mengoptimalkan Pengembangan Lokal dengan Whistle

Dalam pengembangan lokal, kita seringkali menghadapi masalah dalam membagi paketkan data antara lingkungan pengembangan dan lingkungan produksi. Salah satu cara untuk menyelesaikan masalah ini adalah dengan menggunakan alat bantu like Whistle.

CNAME

Whistle memungkinkan kita membuat CNAME (Canonical Name) yang mirip seperti DNS. Dengan menggunakan kata kunci host, kita dapat membuat nama domain www.example.com sebagai alias untuk IP address 127.0.0.1:8080. Contoh:

host://www.qq.com www.example.com

Dengan demikian, saat kita mengakses nama domain www.example.com, Whistle akan langsung mengarahkan kita ke IP address yang terkait.

Path Matching

Selain CNAME, Whistle juga memungkinkan kita untuk membuat matching path. Contoh:

127.0.0.1:8080 example.com/test

Dengan menggunakan syntax di atas, kita dapat mengarahkan semua request ke example.com/test ke IP address 127.0.0.1:8080.

Exact Matching

Jika kita ingin membuat matching yang lebih spesifik, kita dapat menggunakan kata kunci $. Contoh:

$example.com/test

Dengan demikian, hanya request yang memiliki path example.com/test yang akan diarahkan ke IP address 127.0.0.1:8080.

Regular Expression

Whistle juga memungkinkan kita untuk membuat matching menggunakan regular expression. Contoh:

127.0.0.1:8080 /example\.com/i

Dengan demikian, semua request yang memiliki URL http://example.com/ atau https://www.example.com/ akan diarahkan ke IP address 127.0.0.1:8080.

Wildcard Matching

Jika kita ingin membuat matching wildcard, kita dapat menggunakan sintaks *. Contoh:

127.0.0.1:8080 */cgi-bin/test

Dengan demikian, semua request yang memiliki path http://example.com/cgi-bin/test/ atau https://www.example.com/cgi-bin/test/ akan diarahkan ke IP address 127.0.0.1:8080.

Combination Matching

Whistle juga memungkinkan kita untuk membuat matching kombinasi antara beberapa syntax sebelumnya. Contoh:

127.0.0.1:8080 http://example.com:5555 /example\.cn/i $www.example.com:6666/aa www.test.com/bb

Dengan demikian, semua request yang memiliki nama domain http://example.com:5555, URL http://example.cn/, atau path http://www.example.com:6666/aa dan http://www.test.com/bb akan diarahkan ke IP address 127.0.0.1:8080.

Filter Rule

Jika kita ingin membuat filter rule untuk menyelesaikan beberapa kasus spesifik, kita dapat menggunakan sintaks berikut:

  • ignore: untuk mengabaikan request yang tidak sesuai dengan aturan
  • filter: untuk memfilter request berdasarkan method, header, dan IP client

Contoh:

pattern operator1 operator2 excludeFilter://m:post includeFilter://h:cookie=test includeFilter:///cgi-bin/i

Dengan demikian, semua request yang memiliki method POST, header cookie yang mengandung kata test (tidak peduli kasus), dan URL yang mengandung kata cgi-bin akan diabaikan.


Whistle memungkinkan kita untuk membuat beberapa syntax yang berbeda untuk menyelesaikan berbagai masalah dalam pengembangan lokal. Dengan menggunakan CNAME, path matching, exact matching, regular expression, wildcard matching, combination matching, dan filter rule, kita dapat meningkatkan efisiensi dan keteraturan dalam pengembangan aplikasi.