PageSourceSearch

https://cuchara.co.kr/js/imweb_external_sdk.js?1762221174

js cuchara.co.kr collected 2026-09-24 12:56:35 UTC 1,542 bytes, 55 lines download raw bytes

1(() => {
2	class ImwebExternalSDK {
3		getMemberInfo(apiKey) {
4			return new Promise((resolve, reject) => {
5				if (!apiKey || typeof apiKey !== 'string' || !apiKey.trim()) {
6					const error = {
7						code: 'INVALID_API_KEY',
8						message: 'API Key가 유효하지 않습니다.'
9					};
10					reject(error);
11					return;
12				}
13
14				const formData = new FormData();
15				formData.append('api_key', apiKey);
16
17				const controller = new AbortController();
18				const timeoutId = setTimeout(() => controller.abort(), 10000);
19
20				fetch('/ajax/sdk/get_login_member_data.cm', {
21					method: 'POST',
22					body: formData,
23					signal: controller.signal
24				})
25				.then(response => {
26					clearTimeout(timeoutId);
27					if (!response.ok) {
28						throw new Error(`HTTP ${response.status}: ${response.statusText}`);
29					}
30					return response.json();
31				})
32				.then(data => {
33					if (data.success) {
34						resolve(data.loginMemberInfo);
35					} else {
36						const error = {
37							code: data.code || 'SERVER_ERROR',
38							message: data.msg || '회원 정보 조회에 실패하였습니다.'
39						};
40						reject(error);
41					}
42				})
43				.catch(error => {
44					clearTimeout(timeoutId);
45					const errorObj = {
46						code: error.name === 'AbortError' ? 'TIMEOUT_ERROR' : 'NETWORK_ERROR',
47						message: error.name === 'AbortError' ? '요청 시간이 초과되었습니다.' : (error.message || '네트워크 오류가 발생했습니다.')
48					};
49					reject(errorObj);
50				});
51			});
52		}
53	}
54	window.ImwebExternalSDK = new ImwebExternalSDK();
55})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.