1 /*
2 * Copyright (c) 2002-2020, City of Paris
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * 1. Redistributions of source code must retain the above copyright notice
10 * and the following disclaimer.
11 *
12 * 2. Redistributions in binary form must reproduce the above copyright notice
13 * and the following disclaimer in the documentation and/or other materials
14 * provided with the distribution.
15 *
16 * 3. Neither the name of 'Mairie de Paris' nor 'Lutece' nor the names of its
17 * contributors may be used to endorse or promote products derived from
18 * this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
24 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30 * POSSIBILITY OF SUCH DAMAGE.
31 *
32 * License 1.0
33 */
34 /*
35 /*
36 * Copyright (c) 2002-2017, Mairie de Paris
37 * All rights reserved.
38 *
39 * Redistribution and use in source and binary forms, with or without
40 * modification, are permitted provided that the following conditions
41 * are met:
42 *
43 * 1. Redistributions of source code must retain the above copyright notice
44 * and the following disclaimer.
45 *
46 * 2. Redistributions in binary form must reproduce the above copyright notice
47 * and the following disclaimer in the documentation and/or other materials
48 * provided with the distribution.
49 *
50 * 3. Neither the name of 'Mairie de Paris' nor 'Lutece' nor the names of its
51 * contributors may be used to endorse or promote products derived from
52 * this software without specific prior written permission.
53 *
54 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
55 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
56 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
57 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
58 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
59 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
60 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
61 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
62 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
63 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
64 * POSSIBILITY OF SUCH DAMAGE.
65 *
66 * License 1.0
67 */
68 package fr.paris.lutece.plugins.participatorybudget.web.rs;
69
70 import javax.servlet.http.HttpServletRequest;
71
72 import fr.paris.lutece.plugins.participatorybudget.service.authentication.RequestAuthenticationService;
73 import net.sf.json.JSONObject;
74
75 public abstract class AbstractServiceRest
76 {
77
78 // *********************************************************************************************
79 // * REST REST REST REST REST REST REST REST REST REST REST REST REST REST REST REST REST REST *
80 // * REST REST REST REST REST REST REST REST REST REST REST REST REST REST REST REST REST REST *
81 // *********************************************************************************************
82
83 /**
84 * Checks if the request is authenticated or not
85 *
86 * @param request
87 * the HTTP request
88 * @return {@code true} if the request is authenticated, {@code false} otherwise
89 */
90 protected boolean isRequestAuthenticated( HttpServletRequest request )
91 {
92 return RequestAuthenticationService.getRequestAuthenticator( ).isRequestAuthenticated( request );
93 }
94
95 // *********************************************************************************************
96 // * JSON JSON JSON JSON JSON JSON JSON JSON JSON JSON JSON JSON JSON JSON JSON JSON JSON JSON *
97 // * JSON JSON JSON JSON JSON JSON JSON JSON JSON JSON JSON JSON JSON JSON JSON JSON JSON JSON *
98 // *********************************************************************************************
99
100 protected String formatJson( String status, Object result )
101 {
102 return formatJson( status, result, "" );
103 }
104
105 protected String formatJson( String status, Object result, Object complement )
106 {
107 String message;
108 JSONObject json = new JSONObject( );
109 json.put( "status", status );
110 json.put( "result", result );
111 json.put( "complement", complement );
112 message = json.toString( );
113 return message;
114 }
115
116 }