Guest User

Untitled

a guest
Dec 13th, 2017
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.42 KB | None | 0 0
  1. package com.example.wladimir.money.cors;
  2.  
  3. import java.io.IOException;
  4.  
  5. import javax.servlet.Filter;
  6. import javax.servlet.FilterChain;
  7. import javax.servlet.FilterConfig;
  8. import javax.servlet.ServletException;
  9. import javax.servlet.ServletRequest;
  10. import javax.servlet.ServletResponse;
  11. import javax.servlet.http.HttpServletRequest;
  12. import javax.servlet.http.HttpServletResponse;
  13.  
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.core.Ordered;
  16. import org.springframework.core.annotation.Order;
  17. import org.springframework.stereotype.Component;
  18.  
  19. import com.example.wladimir.money.config.property.AlgamoneyApiProperty;
  20.  
  21. @Component
  22. @Order(Ordered.HIGHEST_PRECEDENCE)
  23. public class CorsFilter implements Filter {
  24.  
  25. @Autowired
  26. private AlgamoneyApiProperty algamoneyApiProperty;
  27.  
  28. @Override
  29. public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain)
  30. throws IOException, ServletException {
  31.  
  32. HttpServletRequest request = (HttpServletRequest) req;
  33. HttpServletResponse response = (HttpServletResponse) resp;
  34.  
  35. response.setHeader("Access-Control-Allow-Origin", algamoneyApiProperty.getOriginPermitida());
  36. response.setHeader("Access-Control-Allow-Credentials", "true");
  37.  
  38. if ("OPTIONS".equals(request.getMethod()) && algamoneyApiProperty.getOriginPermitida().equals(request.getHeader("Origin"))) {
  39. response.setHeader("Access-Control-Allow-Methods", "POST, GET, DELETE, PUT, OPTIONS");
  40.  
  41. response.setHeader("Access-Control-Allow-Headers", "Authorization, Content-Type, Accept");
  42. response.setHeader("Access-Control-Max-Age", "3600");
  43.  
  44. response.setStatus(HttpServletResponse.SC_OK);
  45. } else {
  46. chain.doFilter(req, resp);
  47. }
  48.  
  49. }
  50.  
  51. @Override
  52. public void destroy() {
  53. }
  54.  
  55. @Override
  56. public void init(FilterConfig arg0) throws ServletException {
  57. }
  58.  
  59. }
  60.  
  61. java -jar wladimir-api-1.0.0-SNAPSHOT.jar --spring.datasource.username=postgres --spring.datasource.password=1234 algamoney.origin-permitida=http://localhost:4200
  62.  
  63. 2zone.js:2933 OPTIONS http://localhost:8000/lancamentos?resumo 401 ()
  64. scheduleTask @ zone.js:2933
  65. ZoneDelegate.scheduleTask @ zone.js:411
  66. onScheduleTask @ zone.js:301
  67. ZoneDelegate.scheduleTask @ zone.js:405
  68. Zone.scheduleTask @ zone.js:236
  69. Zone.scheduleMacroTask @ zone.js:259
  70. (anonymous) @ zone.js:2966
  71. proto.(anonymous function) @ zone.js:1366
  72. (anonymous) @ http.js:1605
  73. Observable._trySubscribe @ Observable.js:172
  74. Observable.subscribe @ Observable.js:160
  75. (anonymous) @ Observable.js:286
  76. ZoneAwarePromise @ zone.js:890
  77. Observable.toPromise @ Observable.js:284
  78. LancamentoService.pesquisar @ lancamento.service.ts:18
  79. LancamentosPesquisaComponent.pesquisar @ lancamentos-pesquisa.component.ts:20
  80. LancamentosPesquisaComponent.ngOnInit @ lancamentos-pesquisa.component.ts:16
  81. checkAndUpdateDirectiveInline @ core.js:12096
  82. checkAndUpdateNodeInline @ core.js:13599
  83. checkAndUpdateNode @ core.js:13542
  84. debugCheckAndUpdateNode @ core.js:14414
  85. debugCheckDirectivesFn @ core.js:14355
  86. (anonymous) @ AppComponent.html:4
  87. debugUpdateDirectives @ core.js:14340
  88. checkAndUpdateView @ core.js:13509
  89. callViewAction @ core.js:13859
  90. execComponentViewsAction @ core.js:13791
  91. checkAndUpdateView @ core.js:13515
  92. callWithDebugContext @ core.js:14741
  93. debugCheckAndUpdateView @ core.js:14278
  94. ViewRef_.detectChanges @ core.js:11301
  95. (anonymous) @ core.js:5787
  96. ApplicationRef.tick @ core.js:5787
  97. ApplicationRef._loadComponent @ core.js:5853
  98. ApplicationRef.bootstrap @ core.js:5741
  99. (anonymous) @ core.js:5461
  100. PlatformRef._moduleDoBootstrap @ core.js:5461
  101. (anonymous) @ core.js:5382
  102. ZoneDelegate.invoke @ zone.js:392
  103. onInvoke @ core.js:4630
  104. ZoneDelegate.invoke @ zone.js:391
  105. Zone.run @ zone.js:142
  106. (anonymous) @ zone.js:873
  107. ZoneDelegate.invokeTask @ zone.js:425
  108. onInvokeTask @ core.js:4621
  109. ZoneDelegate.invokeTask @ zone.js:424
  110. Zone.runTask @ zone.js:192
  111. drainMicroTaskQueue @ zone.js:602
  112. Promise resolved (async)
  113. scheduleMicroTask @ zone.js:585
  114. ZoneDelegate.scheduleTask @ zone.js:414
  115. Zone.scheduleTask @ zone.js:236
  116. Zone.scheduleMicroTask @ zone.js:256
  117. scheduleResolveOrReject @ zone.js:871
  118. ZoneAwarePromise.then @ zone.js:981
  119. PlatformRef.bootstrapModule @ core.js:5448
  120. (anonymous) @ main.ts:11
  121. ../../../../../src/main.ts @ main.bundle.js:254
  122. __webpack_require__ @ inline.bundle.js:55
  123. 0 @ main.bundle.js:269
  124. __webpack_require__ @ inline.bundle.js:55
  125. webpackJsonpCallback @ inline.bundle.js:26
  126. (anonymous) @ main.bundle.js:1
  127. localhost/:1 Failed to load http://localhost:8000/lancamentos?resumo: Response to preflight request doesn't pass access control check: The 'Access-Control-Allow-Origin' header has a value 'http://localhost:8000' that is not equal to the supplied origin. Origin 'http://localhost:4200' is therefore not allowed access.
  128. core.js:1350 ERROR Error: Uncaught (in promise): Response with status: 0 for URL: null
  129. at resolvePromise (zone.js:824)
  130. at resolvePromise (zone.js:795)
  131. at eval (zone.js:873)
  132. at ZoneDelegate.invokeTask (zone.js:425)
  133. at Object.onInvokeTask (core.js:4621)
  134. at ZoneDelegate.invokeTask (zone.js:424)
  135. at Zone.runTask (zone.js:192)
  136. at drainMicroTaskQueue (zone.js:602)
  137. at ZoneTask.invokeTask [as invoke] (zone.js:503)
  138. at invokeTask (zone.js:1540)
  139.  
  140. Requisição cross-origin bloqueada: A política de mesma origem (Same Origin Policy) impede a leitura do recurso remoto em http://localhost:8000/lancamentos?resumo. (Motivo: o cabeçalho CORS 'Access-Control-Allow-Origin' é incompatível com 'http://localhost:8000').
  141. ERROR
  142. Error: Uncaught (in promise): Response with status: 0 for URL: null
  143. Stack trace:
  144. resolvePromise@webpack-internal:///../../../../zone.js/dist/zone.js:824:31
  145. resolvePromise@webpack-internal:///../../../../zone.js/dist/zone.js:795:17
  146. scheduleResolveOrReject/<@webpack-internal:///../../../../zone.js/dist/zone.js:873:17
  147. ZoneDelegate.prototype.invokeTask@webpack-internal:///../../../../zone.js/dist/zone.js:425:17
  148. onInvokeTask@webpack-internal:///../../../core/esm5/core.js:4817:24
  149. ZoneDelegate.prototype.invokeTask@webpack-internal:///../../../../zone.js/dist/zone.js:424:17
  150. Zone.prototype.runTask@webpack-internal:///../../../../zone.js/dist/zone.js:192:28
  151. drainMicroTaskQueue@webpack-internal:///../../../../zone.js/dist/zone.js:602:25
  152. ZoneTask.invokeTask@webpack-internal:///../../../../zone.js/dist/zone.js:503:21
  153. invokeTask@webpack-internal:///../../../../zone.js/dist/zone.js:1540:9
  154. globalZoneAwareCallback@webpack-internal:///../../../../zone.js/dist/zone.js:1566:17
  155. core.js:1350
Add Comment
Please, Sign In to add comment