123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172(*********************************************************************************)(* Stog *)(* *)(* Copyright (C) 2012-2015 INRIA All rights reserved. *)(* Author: Maxence Guesdon, INRIA Saclay *)(* *)(* This program is free software; you can redistribute it and/or modify *)(* it under the terms of the GNU General Public License as *)(* published by the Free Software Foundation, version 3 of the License. *)(* *)(* This program is distributed in the hope that it will be useful, *)(* but WITHOUT ANY WARRANTY; without even the implied warranty of *)(* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *)(* GNU General Public License for more details. *)(* *)(* You should have received a copy of the GNU General Public *)(* License along with this program; if not, write to the Free Software *)(* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA *)(* 02111-1307 USA *)(* *)(* As a special exception, you have permission to link this program *)(* with the OCaml compiler and distribute executables, as long as you *)(* follow the requirements of the GNU GPL in regard to all of the *)(* software in the executable aside from the OCaml compiler. *)(* *)(* Contact: Maxence.Guesdon@inria.fr *)(* *)(*********************************************************************************)(** *)openUrllethttp_url=ref"http://localhost:8080"letws_url=ref"ws://localhost:8081"letpub_http_url=refNoneletpub_ws_url=refNoneletmk_urls()=leturls=Url.remove_ending_slash(Url.of_strings)inlethttp_url={pub=(match!pub_http_urlwithNone->url!http_url|Somes->urls);priv=url!http_url;}inletws_url={pub=(match!pub_ws_urlwithNone->url!ws_url|Somes->urls);priv=url!ws_url;}in(http_url,ws_url)typeserver_mode=[`Singleof(unit->Types.stog)->Types.stog->unit|`Multiofstringlist->unit]letserver_mode=ref(None:server_modeoption)letset_singlef=letgread_stogstog=let(http_url,ws_url)=mk_urls()infread_stogstog~http_url~ws_urlinserver_mode:=Some(`Singleg)letset_multif=letgargs=let(http_url,ws_url)=mk_urls()inf~http_url~ws_urlargsinserver_mode:=Some(`Multig)