Skip to content

Commit

Permalink
http headers: use and adjust vnd.inveniordm.v1+json http accept header
Browse files Browse the repository at this point in the history
  • Loading branch information
anikachurilova committed Feb 5, 2024
1 parent 70a794f commit da34051
Show file tree
Hide file tree
Showing 4 changed files with 51 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -286,7 +286,7 @@ export class DepositFileApiClient {
withCredentials: true,
xsrfCookieName: "csrftoken",
xsrfHeaderName: "X-CSRFToken",
headers: this.apiHeaders.json,
headers: this.apiHeaders["vnd+json"],
};
this.axiosWithConfig = axios.create(apiConfig);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ export class AffiliationsField extends Component {
fieldPath={fieldPath}
suggestionAPIUrl="/api/affiliations"
suggestionAPIHeaders={{
Accept: "application/json",
Accept: "application/vnd.inveniordm.v1+json",
}}
initialSuggestions={getIn(values, fieldPath, [])}
serializeSuggestions={this.serializeAffiliations}
Expand Down
7 changes: 7 additions & 0 deletions invenio_rdm_records/oaiserver/resources/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,3 +68,10 @@ class OAIPMHServerResourceConfig(ResourceConfig, ConfiguratorMixin):
request_search_args = OAIPMHServerSearchRequestArgsSchema

error_handlers = oaipmh_error_handlers

response_handlers = {
"application/vnd.inveniordm.v1+json": ResourceConfig.response_handlers[
"application/json"
],
**ResourceConfig.response_handlers,
}
45 changes: 42 additions & 3 deletions invenio_rdm_records/resources/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,13 @@ class RDMDraftFilesResourceConfig(FileResourceConfig, ConfiguratorMixin):
blueprint_name = "draft_files"
url_prefix = "/records/<pid_value>/draft"

response_handlers = {
"application/vnd.inveniordm.v1+json": FileResourceConfig.response_handlers[
"application/json"
],
**FileResourceConfig.response_handlers,
}


class RDMRecordMediaFilesResourceConfig(FileResourceConfig, ConfiguratorMixin):
"""Bibliographic record files resource config."""
Expand Down Expand Up @@ -295,6 +302,13 @@ class RDMRecordMediaFilesResourceConfig(FileResourceConfig, ConfiguratorMixin):
),
}

response_handlers = {
"application/vnd.inveniordm.v1+json": FileResourceConfig.response_handlers[
"application/json"
],
**FileResourceConfig.response_handlers,
}


#
# Draft files
Expand All @@ -314,6 +328,13 @@ class RDMDraftMediaFilesResourceConfig(FileResourceConfig, ConfiguratorMixin):
"list-archive": "/media-files-archive",
}

response_handlers = {
"application/vnd.inveniordm.v1+json": FileResourceConfig.response_handlers[
"application/json"
],
**FileResourceConfig.response_handlers,
}


#
# Parent Record Links
Expand Down Expand Up @@ -366,7 +387,10 @@ class RDMParentRecordLinksResourceConfig(RecordResourceConfig, ConfiguratorMixin
}

response_handlers = {
"application/json": ResponseHandler(JSONSerializer(), headers=etag_headers)
"application/vnd.inveniordm.v1+json": RecordResourceConfig.response_handlers[
"application/json"
],
**RecordResourceConfig.response_handlers,
}

error_handlers = record_links_error_handlers
Expand Down Expand Up @@ -396,7 +420,10 @@ class RDMParentGrantsResourceConfig(RecordResourceConfig, ConfiguratorMixin):
request_extra_args = {"expand": ma.fields.Bool()}

response_handlers = {
"application/json": ResponseHandler(JSONSerializer(), headers=etag_headers)
"application/vnd.inveniordm.v1+json": RecordResourceConfig.response_handlers[
"application/json"
],
**RecordResourceConfig.response_handlers,
}

error_handlers = grants_error_handlers
Expand Down Expand Up @@ -453,6 +480,13 @@ class RDMRecordRequestsResourceConfig(ResourceConfig, ConfiguratorMixin):
"expand": ma.fields.Boolean(),
}

response_handlers = {
"application/vnd.inveniordm.v1+json": ResourceConfig.response_handlers[
"application/json"
],
**ResourceConfig.response_handlers,
}


#
# IIIF
Expand Down Expand Up @@ -491,7 +525,12 @@ class IIIFResourceConfig(ResourceConfig, ConfiguratorMixin):
"If-Modified-Since": ma.fields.DateTime(),
}

response_handler = {"application/json": ResponseHandler(JSONSerializer())}
response_handlers = {
"application/vnd.inveniordm.v1+json": ResourceConfig.response_handlers[
"application/json"
],
**ResourceConfig.response_handlers,
}

supported_formats = {
"gif": "image/gif",
Expand Down

0 comments on commit da34051

Please sign in to comment.