@RequestMapping(value = "/resource/stream/{language}/{name}", method = RequestMethod.POST)
  @ResponseStatus(HttpStatus.OK)
  public void editStreamContent(
      @PathVariable String language,
      @PathVariable String name,
      @RequestParam MultipartFile contentFile)
      throws ContentNotFoundException, CMSLiteException, IOException {
    StreamContent streamContent = cmsLiteService.getStreamContent(language, name);

    streamContent.setChecksum(md5Hex(contentFile.getBytes()));
    streamContent.setContentType(contentFile.getContentType());
    streamContent.setContent(ArrayUtils.toObject(contentFile.getBytes()));

    cmsLiteService.addContent(streamContent);
  }
  @RequestMapping(value = "/stream/{language}/{name}", method = RequestMethod.GET)
  public void getStreamContent(
      @PathVariable String language, @PathVariable String name, HttpServletResponse response)
      throws IOException {
    LOG.info(String.format("Getting resource for : stream:%s:%s", language, name));

    try (OutputStream out = response.getOutputStream()) {

      StreamContent streamContent = cmsLiteService.getStreamContent(language, name);

      response.setContentLength(streamContent.getContent().length);
      response.setContentType(streamContent.getContentType());
      response.setHeader("Accept-Ranges", "bytes");
      response.setStatus(HttpServletResponse.SC_OK);

      out.write(ArrayUtils.toPrimitive(streamContent.getContent()));
    } catch (Exception e) {
      LOG.error(
          String.format(
              "Content not found for : stream:%s:%s%n:%s",
              language, name, Arrays.toString(e.getStackTrace())));
      response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, NOT_FOUND_RESPONSE);
    }
  }