/**
* The contents of this file are subject to the Mozilla Public License
* Version 1.1 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
* License for the specific language governing rights and limitations under
* the License.
*
* The Original Code is OpenELIS code.
*
* Copyright (C) ITECH, University of Washington, Seattle WA. All Rights Reserved.
*
*/
package us.mn.state.health.lims.dataexchange.order.action;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.ServletInputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import us.mn.state.health.lims.common.log.LogEvent;
public class OrderRawServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse response) throws ServletException, IOException {
response.setStatus(HttpServletResponse.SC_OK);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// LogEvent.logFatal("IndicatorAggregationReportingServlet", "size", String.valueOf(request.getContentLength()));
String info = "\ncharacterEncoding: " + request.getCharacterEncoding() +
"\ncontentLength: " + request.getContentLength() +
"\ncontentType: " + request.getContentType() + "\n\n";
String sentIndicators = getDocument( request.getInputStream(), request.getContentLength());
//System.out.println(info);
//System.out.println(sentIndicators);
LogEvent.logFatal("OrderRawServletServlet", "raw", info + sentIndicators);
response.setStatus(HttpServletResponse.SC_OK);
}
private String getDocument(ServletInputStream inputStream, int contentLength) {
int charCount = 0;
byte[] byteBuffer = new byte[contentLength];
while( true){
try {
int readLength = inputStream.readLine(byteBuffer, charCount, 1024);
if( readLength == -1){
return new String(byteBuffer);
}else{
charCount += readLength;
}
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
}
private static final long serialVersionUID = 1L;
}