@Override public Key getProjectKey(int apiId, AccessKeyType type) { try (Connection conn = connectionPool.getConnection()) { PreparedStatement ps = conn.prepareStatement(String.format("SELECT lower(project), %s FROM api_key WHERE id = ?", type.getKey())); ps.setInt(1, apiId); ResultSet resultSet = ps.executeQuery(); if (!resultSet.next()) { throw new RakamException("api key is invalid", FORBIDDEN); } return new Key(resultSet.getString(1), resultSet.getString(2)); } catch (SQLException e) { throw Throwables.propagate(e); } }
public static AccessKeyType fromKey(String key) { for (AccessKeyType accessKeyType : values()) { if (accessKeyType.getKey().equals(key)) { return accessKeyType; } } throw new IllegalArgumentException(key + " doesn't exist."); }
@Override public String getProjectOfApiKey(String apiKey, AccessKeyType type) { if (type == null) { throw new IllegalStateException(); } if (apiKey == null) { throw new RakamException(type.getKey() + " is missing", FORBIDDEN); } try (Connection conn = connectionPool.getConnection()) { PreparedStatement ps = conn.prepareStatement(format("SELECT lower(project) FROM api_key WHERE %s = ?", type.name())); ps.setString(1, apiKey); ResultSet resultSet = ps.executeQuery(); if (!resultSet.next()) { throw new RakamException(type.getKey() + " is invalid", FORBIDDEN); } return resultSet.getString(1); } catch (SQLException e) { throw Throwables.propagate(e); } }
String apiKey; try { apiKey = getParam(request.params(), MASTER_KEY.getKey()); } catch (Exception e) { apiKey = request.headers().get(MASTER_KEY.getKey()); String apiKey = getParam(request.params(), MASTER_KEY.getKey()); String project = apiKeyService.getProjectOfApiKey(apiKey, MASTER_KEY); String collection = getParam(request.params(), "collection"); String apiKey = getParam(request.params(), MASTER_KEY.getKey()); String project = apiKeyService.getProjectOfApiKey(apiKey, MASTER_KEY); String collection = getParam(request.params(), "collection");
List<String> apiKey = request.params().get(keyType.getKey()); if (apiKey == null || data.isEmpty()) { String message = keyType.getKey() + " query parameter is required"; LogUtil.logException(request, new RakamException(message, BAD_REQUEST)); response.send("result", encode(errorMessage(message, BAD_REQUEST))).end();
@Override public Object extract(ObjectNode node, RakamHttpRequest request) { String apiKey = request.headers().get(type.getKey()); if (apiKey == null) { List<String> apiKeyList = request.params().get(type.getKey()); if (apiKeyList != null && !apiKeyList.isEmpty()) { apiKey = apiKeyList.get(0); } else { throw new RakamException(type.getKey() + " header or " + "query parameter is missing.", FORBIDDEN);