{"id":16619933,"url":"https://github.com/cepr0/sb-rest-template-interceptor-demo","last_synced_at":"2026-04-19T04:35:56.983Z","repository":{"id":130472755,"uuid":"203159322","full_name":"Cepr0/sb-rest-template-interceptor-demo","owner":"Cepr0","description":"Example of Spring RestTemplate interceptor with BufferingClientHttpResponseWrapper","archived":false,"fork":false,"pushed_at":"2019-08-19T16:07:30.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-08-05T06:05:12.510Z","etag":null,"topics":["interceptor","rest-template","spring","spring-boot"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Cepr0.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-08-19T11:29:16.000Z","updated_at":"2019-08-19T16:07:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"f2698ae2-463e-464f-869a-24256b794479","html_url":"https://github.com/Cepr0/sb-rest-template-interceptor-demo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Cepr0/sb-rest-template-interceptor-demo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cepr0%2Fsb-rest-template-interceptor-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cepr0%2Fsb-rest-template-interceptor-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cepr0%2Fsb-rest-template-interceptor-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cepr0%2Fsb-rest-template-interceptor-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Cepr0","download_url":"https://codeload.github.com/Cepr0/sb-rest-template-interceptor-demo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cepr0%2Fsb-rest-template-interceptor-demo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31995167,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["interceptor","rest-template","spring","spring-boot"],"created_at":"2024-10-12T02:43:08.301Z","updated_at":"2026-04-19T04:35:56.964Z","avatar_url":"https://github.com/Cepr0.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"Example of Spring RestTemplate interceptor with `BufferingClientHttpResponseWrapper` \nthat reads the response's body into memory, thus allowing for multiple invocations of `getBody()`\n\n```java\n@Bean\npublic RestTemplate restTemplate(RestTemplateBuilder templateBuilder) {\n   ClientHttpRequestFactory requestFactory = new BufferingClientHttpRequestFactory(new SimpleClientHttpRequestFactory());\n   return templateBuilder\n      .interceptors((request, bytes, execution) -\u003e {\n         log.info(\"[i] Interceptor: invoked {} {}\", request.getMethod(), request.getURI());\n         ClientHttpRequest delegate = requestFactory.createRequest(request.getURI(), request.getMethod());\n         request.getHeaders().forEach((key, values) -\u003e values.forEach(value -\u003e delegate.getHeaders().add(key, value)));\n         ClientHttpResponse response = delegate.execute();\n         String body = StreamUtils.copyToString(response.getBody(), Charset.defaultCharset());\n         log.info(\"[i] Interceptor: response body is '{}'\", body);\n         return response;\n      })\n      .rootUri(\"http://localhost:8080\")\n      .build();\n}\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcepr0%2Fsb-rest-template-interceptor-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcepr0%2Fsb-rest-template-interceptor-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcepr0%2Fsb-rest-template-interceptor-demo/lists"}