diff options
author | jsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68> | 2013-08-26 05:18:10 +0000 |
---|---|---|
committer | jsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68> | 2013-08-26 05:18:10 +0000 |
commit | 98370267588204f878ba596c6c3bdf3ffc9c4d0c (patch) | |
tree | 8ffdecd1c4e5e257813374bf78c7ea6ac85aed84 /sca-cpp/trunk/hosting/server/put-account | |
parent | 2e5abd585874b18d5e94067ca7704a1966df3226 (diff) |
Improvements to the hosting management app server side logic.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1517420 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-cpp/trunk/hosting/server/put-account')
-rwxr-xr-x | sca-cpp/trunk/hosting/server/put-account | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/sca-cpp/trunk/hosting/server/put-account b/sca-cpp/trunk/hosting/server/put-account new file mode 100755 index 0000000000..39ebc8d9a9 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/put-account @@ -0,0 +1,72 @@ +#!/bin/sh + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +here=`echo "import os; print os.path.realpath('$0')" | python`; here=`dirname $here` +mkdir -p $1/conf +root=`echo "import os; print os.path.realpath('$1')" | python` +admin=$2 +apass=$3 +user=$4 +email=$5 +host=$6 + +httpd_prefix=`cat $here/../../modules/http/httpd.prefix` + +if [ "$host" = "" ]; then + conf=`cat $root/conf/httpd.conf | grep "# Generated by: httpd-conf"` + sslconf=`cat $root/conf/httpd.conf | grep "# Generated by: httpd-ssl-conf"` + if [ "$sslconf" = "" ]; then + scheme="http" + addr=`echo $conf | awk '{ print $7 }'` + host=`$here/../../modules/http/httpd-addr ip $addr` + if [ "$host" = "" ]; then + host="localhost" + fi + port=`$here/../../modules/http/httpd-addr port $addr` + else + scheme="https" + ssladdr=`echo $sslconf | awk '{ print $6 }'` + host=`$here/../../modules/http/httpd-addr ip $ssladdr` + if [ "$host" = "" ]; then + host="localhost" + fi + port=`$here/../../modules/http/httpd-addr port $ssladdr` + fi +else + scheme="https" + port="443" +fi + +# Put user account +cat >$root/conf/account.entry <<EOF +<?xml version="1.0" encoding="UTF-8"?> +<entry xmlns="http://www.w3.org/2005/Atom"> + <title type="text"></title> + <id>$user</id> + <content type="application/xml"> + <account> + <email>$email</email> + <description></description> + </account> + </content> +</entry> +EOF +curl -k -L -u $admin:$apass -X PUT -H "X-Forwarded-Server: $host" --data-binary @$root/conf/account.entry $scheme://$host:$port/c/Accounts/$user +rm $root/conf/account.entry + |