Skip to content

Releases: javaguru/nexus-backend

CORS Security configuration Spring 5/6

03 Nov 20:40
Compare
Choose a tag to compare

CORS Security configuration Spring 5/6

Add new CORS Security configuration Spring 5/6
Update Doc settings.properties new config CORS
Update Doc, default CORS Security configuration
Clean neutral Jackson2ObjectMapperBuilder, remove mapper.date
Add testXError 400, 401 and 500 in RestApiTest
Fix NexusHttpException in BackendServiceImp
Add example standardized method test Put or Post ListEntity
Add postDataList MockController
Update Spring Security at version 5.8.15
Add handleMethodNotSupportedException   return 404 in GlobalDefaultExceptionHandler
Change Cors Mappings /api/**
Add disableCookieManagement ApplicationTestConfig
Clean neutral Jackson2ObjectMapperBuilder
Remove mapper serializer date and patternDateTimeZone
Remove hallowEtagHeader Filter
Update README.md

Fix missing method addCorsMappings

23 Oct 19:13
Compare
Choose a tag to compare

Fix missing method addCorsMappings

Release Notes:
Fix missing method addCorsMappings /*
HttpClient4 disableCookieManagement
Change BackendServiceImpl get ResponseBody as ByteArray
BackendServiceImpl remove let back BAD_REQUEST!
Move ErrorMessage in Api package from the Backend
Fix logback.xml, add org.apache.http.headers at OFF
Add CompliantLineParser in HttpConnectionFactory
Add new constructor in BackendServiceImpl isHandleBackendEntity true/false
Add static list HttpStatusError available
BackendServiceImpl remove EntityError
ApiBackend remove EntityError
Add "WWW-Authenticate" header for tests postman-echo
Fix manage list HttpHeaders back from the Backend Server
Fix supportsReadStreaming InputStreamResource
Fix Errors RestControllerTest
Update ApplicationTestConfig and comment
Update OpenApi-ui springdoc 1.8
Clean code and comments
Update Spring Framework at version 5.3.39
Add Generics void logger
Clean code

Support Backend Headers and Support ContentNegotiation Header Strategy for Resources

13 Oct 22:05
Compare
Choose a tag to compare

Support Backend Headers and Support ContentNegotiation Header Strategy for Resources

ApiBackend, add TRANSFER_HEADERS SET_COOKIE
ApplicationConfig, remove disableCookieManagement
Optimize MultipartResolver Strict Servlet compliance
Optimize logback.xml org.apache.http
Activated for Demo endpoints Stream, Encoding, Time now from postman-echo.com
Fix WebConfig add a ContentNegotiation MediaType contentType,
Add Default Header ContentNegotiation Strategy, APPLICATION_PDF is now a safe Extension
Add MediaTypes_commons.properties, commons MediaTypes collection
Add new resource include mime/*.properties in pom.xml
Fix ApiBackend use directly NativeWebRequest as parameter
Add HttpMediaTypeNotAcceptableException in GlobalDefaultExceptionHandler
Fix support Resource and original CONTENT_TYPE
Add new constructor BackendServiceImpl, add boolean isHandleBackendEntity
Add inner class Generics EntityBackend Add ApiBackend.getBackendHeaders, Transfer some headers from the Backend as CONTENT_TYPE Return now a Generics ResponseEntity, Body or Resource, and new Headers
Add logger info/warn Config ResourceMatchers
Fix logs RestClientException
Fix size Buffer Overflow evasion by the Length
Fix message No ResourceMatchers configured
Fix visibility stripWAFPattern
Fix prevent RegExp Denial of Service - ReDoS!
Update doc and comments

Full support Response in ByteArray Resource

06 Oct 21:54
Compare
Choose a tag to compare

Full support Response in ByteArray Resource and Streaming Http Response Range Bytes

  • Full support Request Json Entity Object: application/json, application/x-www-form-urlencoded
  • Full support MultipartRequest Resources and Map parameters, and embedded form Json Entity Object: multipart/form-data
  • Full support Response in Json Entity Object: application/json
  • Full support Response in ByteArray Resource file: application/octet-stream
  • Full support Streaming Http Response Json Entity Object: application/octet-stream, accept header Range bytes

Update ApiBackend, add ResponseType as Resource
Add maven SpringBoot Configuration processor
Add ResourceMatchers Config for ByteArray Resource
Remove deleteOnExit Resource, finally do the job
No evasion, Multipart/mixed rejected by WAF Filter
Unify ApiBackend Message, ErrorMessage BackendService
Fix interface BackendService, remove unsafe method
WAFFilter clean code, force close Connection (marked close used)
Optimize WAFUtils add stripWAFPattern
Default nexus.backend.mapper.indentOutput at false
Update the last Tomcat 9.0.95
Update README.md, Javadoc and comments

WAFFilter RequestRejected

02 Oct 17:59
Compare
Choose a tag to compare

WAFFilter RequestRejected

Fix WAFFilter RequestRejected exception encoded in ISO-8859-1, force writeValueAsBytes in UTF-8!
Update Doc, logs and comments

Full support MultipartRequest and does not encode the URI template!

30 Sep 19:53
Compare
Choose a tag to compare

Full support MultipartRequest and does not encode the URI template!

Release notes:
Fix BackendApi, add full support MultipartRequest content type multipart/form-data
Add BackendResource, converted a MultiValueMap to a temporary Resource
Fix ApplicationConfig, add DefaultUriBuilderFactoryDoes at EncodingMode.NONE
Fix source error message ApiBackend and GlobalDefaultExceptionHandler
ApiBackend print queryString
Clean code and Optimize logs writing, logs take time!

Full support MultipartRequest content type multipart/form-data

29 Sep 15:38
Compare
Choose a tag to compare

Full support MultipartRequest content type multipart/form-data

Fix BackendApi, add full support MultipartRequest content type multipart/form-data, MultiValueMap Files and parameterMap
Add BackendResource, converted a MultiValueMap to a temporary Resource
Change BackendService, add BasicAuth in UTF_8
Change WAFFilter, remove isMultipart unused now, MultipartRequest parameterMap is scanned by the StrictHttpFirewall
Add printParameterMap in Json style for log
Add @ConditionalOnExpression MockController only development
ApplicationConfig, remove DefaultUriBuilderFactory unused
Update Doc

Replicate requests GET, POST, PUT, PATCH, DELETE

24 Sep 18:28
Compare
Choose a tag to compare

Fix replicate requests GET, POST, PUT, PATCH, DELETE
Change ApiBackend.requestEntity, build requested Url
Fix Mapping Filters order, remove Ordered.HIGHEST_PRECEDENCE
Add new Filter FormContent
Add new Filter ShallowEtagHeader, force Content-Length and avoid Transfer-Encoding: chunked
Add new key nexus.backend.filter.shallowEtag.enabled, default false
Add new Filter CharacterEncoding, default UTF-8 request
Change Forwarded Filter, discard and ignore forwarded headers
Remove WebConfig.configureContentNegotiation redundant
Remove UriComponentsBuilder not encoded here and let ApiBackend encoded for us
Optimize & Clean code
Update Doc

All is Bytes and Charset encoding!

13 Aug 13:39
Compare
Choose a tag to compare

All is Bytes and Charset encoding!

Re-encoding HttpUrl, Special Characters are re-interpreted (encode Sharp # --> %23)
Remove UriComponentsBuilder not encode here and let BackendService encoded for us
WARN RestClientResponseException use now the default Charset UTF-8 vs ISO_8859_1 in Spring < 5.1.18
Optimize HttpHeaders, encodeBasicAuth, setBearerAuth
Add nexus.backend.http.response.truncated.maxLength
Fix UriComponentsBuilder /proxy and /redirect MockController
Fix MockController UriComponentsBuilder.fromHttpUrl
Add ContentNegotiationConfigurer force json
Update Doc

v1.0.7

03 Aug 11:44
Compare
Choose a tag to compare

All is Bytes!

Fix echo redirect MockController, all is Bytes!
Fix MockController, add UriComponentsBuilder, all is Byte Array!
Add DefaultUriBuilderFactory encoding VALUES_ONLY
Fix BackendUrl special case Sharp character.
Fix encoding UTF-8, but it will re-encoded through the Backend Service
Add new MediaType.ALL for Stream (partial)
Fix MediaType json and wildcard json
Clean BackendServiceImpl handleResponse
Add PATCH method isMultipart
Add User-Agent postFile putFile patchFile, init for main

Fix settings  nexus.backend.client. for Timeout
Add keys redirectsEnabled, maxRedirects, authenticationEnabled and circularRedirectsAllowed
Add new key nexus.api.backend.filteredHeaders
Add key requestSentRetryEnabled

Update README.md, add ByteArrayHttp.