/api/hrm/employee, /api/scm/product, /api/crm/customer, /api/finance/journal) 모두 정상 응답 확인.근본원인 6개를 차례로 수정:
proxy.js — POST body 미전달sock.write(), body는 버림Buffer.concat([headers, body])로 단일 writeTCP읽기(8191) 단일 호출로 전체 요청을 읽기 때문에 분할 write 시 body 소실proxy.js — 로그인 가로채기 제거/api/auth/login을 프록시가 자체 해시로 토큰 발급토큰검증이 해당 토큰을 모르므로 이후 POST 전부 401서버.한선:JSON값추출 — 루프 재작성그리고 단락평가 의존 로직으로 키를 못 찾음부분() 문자열 비교 + flag 변수로 안전 break계속 → 진행 치환서버.한선:헤더값추출 — EOF까지 읽는 버그\r\n 못 찾으면 끝 = 요청길+1 후 부분(시작, 끝-1) → 요청 끝까지 반환Authorization 값이 143자(실제 71자)로 반환되어 토큰 매칭 실패끝 보존modules/보안.한선:역할부여/권한설정/역할등록 — 맵 vs flat array맵생성() + 맵넣어(key, val)로 만든 해시맵을 삽입()에 전달삽입은 flat array ["키",값,"키",값] 포맷 기대 (내부 _맵에서꺼내가 그걸 가정)modules/보안.한선:보안초기화 — 기본 사용자 미등록_사용자역할DB에 admin/ceo/cfo/… 등록이 없어서 로그인 시 전부 "뷰어" 반환역할부여("admin","최고관리자") 등 7개 기본 사용자 추가/Users/ef/crowny-enterprise/proxy.js (L143-167, L300-335 제거)/Users/ef/crowny-enterprise/서버.한선 (L201-237 헤더값추출, L240-294 JSON값추출)/Users/ef/crowny-enterprise/modules/보안.한선 (L32-38, L49-60, L86-91, L171-210)| 엔드포인트 | 입력 | 결과 |
|---|---|---|
| POST /api/hrm/employee | E001 홍길동 | {"status":"ok","data":{"사번":"E001","이름":"홍길동"}} |
| POST /api/scm/product | P001 상품A | {"status":"ok","data":{"코드":"P001","이름":"상품A"}} |
| POST /api/crm/customer | C001 ABC상사 | {"status":"ok","data":{"코드":"C001","이름":"ABC상사"}} |
| POST /api/finance/journal | 100000원 분개 | {"status":"ok","data":{"적요":"테스트","금액":100000}} |
/api/hrm, /api/scm, /api/finance 등이 POST 후에도 총직원수=0 등으로 표시. 별개 버그 — 요약 함수가 _직원DB 등의 행수/필드를 잘못 읽는 듯. (crm 파이프총액=1은 뜸 → 일부만 정상)삽입(_테이블, 맵생성()으로만든맵) 호출이 다른 모듈에도 있을 수 있음. grep 필요.삽입_flat_array — 셀DB에 행 삽입 시 올바른 포맷http_header_extract_safe — \r\n 안전 break 헤더 파서json_key_extract_safe — 단일 키 JSON 값 추출