소스 검색

Fix Accept-Patch in OPTIONS

Use resource allowed patches in OPTIONS.
master
부모
커밋
e554fee7bf
1개의 변경된 파일4개의 추가작업 그리고 9개의 파일을 삭제
  1. +4
    -9
      packages/core/src/backend/servers/http/core.ts

+ 4
- 9
packages/core/src/backend/servers/http/core.ts 파일 보기

@@ -551,15 +551,10 @@ export const createServer = (backendState: BackendState, serverParams = {} as Cr
if (resourceReq.method === 'POST') {
headers['Accept-Post'] = Array.from(resourceReq.backend.app.mediaTypes.keys()).join(',');
} else if (resourceReq.method === 'PATCH') {
headers['Accept-Patch'] = Array.from(resourceReq.backend.app.mediaTypes.keys()).map((m) => {
const [mimeType, mimeSubtype] = m.split('/');

// TODO accept only patch document type from request
// TODO implement Vary header (which headers influenced the request)
// TODO implement OPTIONS method for determining the accepted media types and languages
// TODO configure strict and lax accept behavior for content negotiation
return `${mimeType}/merge-patch+${mimeSubtype}`;
}).join(',');
headers['Accept-Patch'] = Array.from(Object.entries(PATCH_CONTENT_MAP_TYPE))
.filter(([, value]) => Object.keys(resourceReq.resource.state.canPatch).includes(value))
.map(([contentType]) => contentType)
.join(',');
}

handleError(new ErrorPlainResponse('unableToSerializeResponse', {


불러오는 중...
취소
저장