anchor.diff:  %% <em>{body, Data}</em> tuples and finally <em>end_of_part</em>. When there
   %% is no part to parse anymore, <em>eof</em> is returned.
   -spec multipart_data(Req)
  -    -> {headers, cowboy:http_headers(), Req} | {body, binary(), Req}
  -        | {end_of_part | eof, Req} when Req::req().
  -multipart_data(Req=#http_req{body_state=waiting}) ->
  +            -> {headers, cowboy:http_headers(), Req} | {body, binary(), Req}
  +        | {end_of_part | eof, Req} when Req :: req().
  +multipart_data(Req = #http_req{body_state = waiting}) ->
       {ok, {<<"multipart">>, _SubType, Params}, Req2} =
           cowboy_req:parse_header(<<"content-type">>, Req),
       {_, Boundary} = lists:keyfind(<<"boundary">>, 1, Params),
       {ok, Length, Req3} = cowboy_req:parse_header(<<"content-length">>, Req2),
       multipart_data(Req3, Length, {more, cowboy_multipart:parser(Boundary)});
  -multipart_data(Req=#http_req{multipart={Length, Cont}}) ->
  +multipart_data(Req = #http_req{multipart = {Length, Cont}}) ->
       multipart_data(Req, Length, Cont());
  -multipart_data(Req=#http_req{body_state=done}) ->
  +multipart_data(Req = #http_req{body_state = done}) ->
       {eof, Req}.
   
   multipart_data(Req, Length, {headers, Headers, Cont}) ->
  -    {headers, Headers, Req#http_req{multipart={Length, Cont}}};
  +    {headers, Headers, Req#http_req{multipart = {Length, Cont}}};
   multipart_data(Req, Length, {body, Data, Cont}) ->
  -    {body, Data, Req#http_req{multipart={Length, Cont}}};
  +    {body, Data, Req#http_req{multipart = {Length, Cont}}};
   multipart_data(Req, Length, {end_of_part, Cont}) ->
  -    {end_of_part, Req#http_req{multipart={Length, Cont}}};
  +    {end_of_part, Req#http_req{multipart = {Length, Cont}}};
   multipart_data(Req, 0, eof) ->
  -    {eof, Req#http_req{body_state=done, multipart=undefined}};
  -multipart_data(Req=#http_req{socket=Socket, transport=Transport},
  +    {eof, Req#http_req{body_state = done, multipart = undefined}};
  +multipart_data(Req = #http_req{socket = Socket, transport = Transport},
           Length, eof) ->
       %% We just want to skip so no need to stream data here.
       {ok, _Data} = Transport:recv(Socket, Length, 5000),
  -    {eof, Req#http_req{body_state=done, multipart=undefined}};
  +    {eof, Req#http_req{body_state = done, multipart = undefined}};
   multipart_data(Req, Length, {more, Parser}) when Length > 0 ->
       case stream_body(?UPLOAD_PART_SIZE, Req) of
  -        {ok, << Data:Length/binary, Buffer/binary >>, Req2} ->
  -            multipart_data(Req2#http_req{buffer=Buffer}, 0, Parser(Data));
  +        {ok, <<Data:Length/binary, Buffer/binary>>, Req2} ->
  +            multipart_data(Req2#http_req{buffer = Buffer}, 0, Parser(Data));
           {ok, Data, Req2} ->
               multipart_data(Req2, Length - byte_size(Data), Parser(Data));
           Error ->
  
positive.code:         {more, Binary, NewReq} ->
              write_to_file(Binary, FullPath),
              stream_file_to_fslogic(NewReq, FullPath, BufferSize)
      end. 
  
  
  % Accumulates a whole buffer of multipart data with use of cowboy's multipart_data function
  
negative.code:         {Filepath, Size} = try_or_throw(
              fun() ->
                  {FilepathBin, _} = cowboy_req:qs_val(<<"f">>, Req),
                  TryFilepath = binary_to_list(FilepathBin),
                  {ok, Fileattr} = logical_files_manager:getfileattr(TryFilepath),
                  "REG" = Fileattr#fileattributes.type,
                  TrySize = Fileattr#fileattributes.size,
  