int httpd_send_default_headers()

in AZ3166/src/cores/arduino/httpserver/httpd_wsgi.c [211:266]


int httpd_send_default_headers(int sock, int hdr_fields)
{
	int ret = kNoErr;

	if (hdr_fields & HTTPD_HDR_ADD_SERVER) {
		ret = httpd_send(sock, http_header_server,
			strlen(http_header_server));
		if (ret != kNoErr)
			return -kInProgressErr;
	}

	if (hdr_fields & HTTPD_HDR_ADD_CONN_CLOSE) {
		ret = httpd_send(sock, http_header_conn_close,
			strlen(http_header_conn_close));
		if (ret != kNoErr)
			return -kInProgressErr;
	}

	if (hdr_fields & HTTPD_HDR_ADD_CONN_KEEP_ALIVE) {
		ret = httpd_send(sock, http_header_conn_keep_alive,
			strlen(http_header_conn_keep_alive));
		if (ret != kNoErr)
			return -kInProgressErr;
	}

	/* Currently as we are sending chunked data, this is mandatory */
	if (hdr_fields & HTTPD_HDR_ADD_TYPE_CHUNKED) {
		ret = httpd_send(sock, http_header_type_chunked,
			strlen(http_header_type_chunked));
		if (ret != kNoErr)
			return -kInProgressErr;
	}

	if (hdr_fields & HTTPD_HDR_ADD_CACHE_CTRL) {
		ret = httpd_send(sock, http_header_cache_ctrl,
			strlen(http_header_cache_ctrl));
		if (ret != kNoErr)
			return -kInProgressErr;
	}

	if (hdr_fields & HTTPD_HDR_ADD_CACHE_CTRL_NO_CHK) {
		ret = httpd_send(sock, http_header_cache_ctrl_no_chk,
			strlen(http_header_cache_ctrl_no_chk));
		if (ret != kNoErr)
			return -kInProgressErr;
	}

	if (hdr_fields & HTTPD_HDR_ADD_PRAGMA_NO_CACHE) {
		ret = httpd_send(sock, http_header_pragma_no_cache,
			strlen(http_header_pragma_no_cache));
		if (ret != kNoErr)
			return -kInProgressErr;
	}

	return kNoErr;
}