<?php

require_once 'bnw_curl.php';
define('VIACEP_URL', 'https://viacep.com.br/ws/%s/json/');

function bnw_clean($data, $allowed = []) {
	if (is_array($data)) {
		foreach ($data as $key => $value) {
			if (!$allowed || in_array($key, $allowed)) {
				unset($data[$key]);
				$data[bnw_clean($key)] = bnw_clean($value);
			}
		}
	} else { 
		$data = htmlspecialchars($data, ENT_COMPAT, 'UTF-8');
	}

	return $data;
}

$curl = new BnwCurl();
$allowed = ['postcode'];
$payload = bnw_clean($_GET);
if (isset($payload['postcode']) && !empty($payload['postcode'])) {
	$postcode = preg_replace("/[^0-9]/", '', $payload['postcode']);
	$url = sprintf(VIACEP_URL, $postcode);
	$result = $curl->get($url, []);
	
	// TODO travar IP origem
	if (!is_null($result)) {
		echo json_encode($result);
	} else {
		http_response_code(400);
	}
}