first commit
This commit is contained in:
commit
e99677c375
@ -0,0 +1 @@
|
||||
{"n": "0CZhC6bjwv-TtxEDRl-CGEnve4l-JD-RiwRZYdGjpXJrR-bxeoDiltL8w13ZXqQHGioP7b3G29-J9bMrlH9yqipvukorqZCaKahFUhOWWEvFPW9Kol5bD4-vrXqUvriORHcKIcxb2BIZww1hjzGuzMXdOIc2iX_AG5OOIoM59Q4QY93WluJ76MlCO-9aBQo4Ai0FEHSNF-kX4cG0Y66xWkjW-juaPJt_vFRiHQttJQ1hfYLQaV125z0zbk8AKEz5KHvBWjez2LlENvHn0O3wFSLuDrJgqo8UjH4cHCphCJT2VhcwZvtKcOuKL7oZRYwN_kYF-nN7AJ2vXBeccoPNQ4lx0D4dJJdrQ4ec7D_5775Y8A3SOcKTYHQZM5mhVeNjZlR6OHDE3nENdPvEGS-zirWEAD7394UGJFtShRGV7T7EdcOezUwiRPv2ULQF1icZsm6uPrPKE56NqoK7KFYj1tPVKffAtIAMuhF8qY3715zX7iV3o2Oz7wWJU7nVT3OMPGOTSHn4LTubLjNpx75nZEKSiDm4qVOsHhkhD7rjckQSkG_k3KHyI7CTB5v8CA-Map2jaqQKr6XnLMJAa78VGNQQhqJnRN7p0nR6fqZwkoLeqY_1-XgQ3SY_DBVxMS56Fws9Lu4HnLOiIX2525HUx6CFUj66RJ2rm_sONCH3SEk", "e": "AQAB", "d": "E5FYFDFXPhCqwU3_IdF-uGvS8KknS58SPqBlCrYbjUUpYrQKRXryUj15d6BN_ACtjj8gCjiKBkeIf6mdUjN9AxRENp4cZq9qXror8iBXROuymijpOkRmiRr35_YbH6bX8QXD1ROSGsjw1Q5f-ocwKJ39QwArF1gEJlODzCjL_Qaacdj8AGlAPs0Uxe-lZc3lIAc9b6OVVAccsKN2ItzcXWF1nEaYJFR1-K1yH8rgMtiELrlqgE1CDVEKkbcpi6BY1_5yWdnctWYNTKEHKvQDWulSudz5C2-x_dcpK1iskJL4aXV6nmPHRsBN2FjFYW1eL2ZDz5yllpQ8VQr_MSDE3gYVcd6BCpGiasDjXtEvl9GhxRL-LaI8zZv5k3O2JDBG9tGws-bbHq7mqaT8Ei8j5DDsTzl0PJ5GdSj9h9kjh-H5zf6KTGGLHN3GPeki_1DWdlUfreKt6G9dnfFiwI6tF_OGLXVRjgfLl5I4ttsMVMzxihEbC93SUzzJaDuEUWS0KTrQxI94Nj3HxVWpdluszTv0PR6BTAKhz2KhDrhb8b6hVt6v_bFIdqDQPUyfBcIcft6-59hzHwcXuk8uvJgto28RI_d4GW05xfsYO4VogWbmvqGlWz8sroQyQwjnSiEiqG-VWkS8flouF7ULrMEWyoOLFdhaaCq7ef2liFllZYE", "p": "7XJSjNAJrknKkOQVFllgbv-aDTMyLjcZy7LEbeOrzKP743Kcr1zOlRut_4M-134EJp3knDjxQpalmR0t9b952W78jtHNQRWJJR6NwiS1fJJXymIz3Nm3WCQT1zQVBKrb2wo0TBn0uDS9dDB4QZ6XJBEktLjhxcMudzx9PpHRZtTVJWgmi-mxw__qHa0hJkQ48WgZM3UYi2mzkJ4-OvWl78MVIyotY6C8R50RKDNXBapKBGgrB7czneBk-HrLtP7KpeLlaONirYTsMFJjXGgKm4F09nJxK2s-fgtouPtl03KBGAsq15o_zAVBvV4JkiEsVu6vHe72dP6bxx4WrZLFeQ", "q": "4GoID9XD_3x0YWFNpRoOiCrPbSTMzuN92QIHEmlG7drAt5q354Is8clIhEOL-CNv1k4wVpq0jC_HP2qdwqbqK8w6vV551ndhQt9ri7_IyohiwvYyNzkHlNF_HC_cXn4l88J73KPovG7DPUKCAGZmRbyl2Glzq-TTCq3cOAKXpQWbOZkQDYVKZR2ROnogKzlHSp9bbDbplMjLKgus1XTLmV2r6gIYm23JlczyTYsDWNIsGS2tlU4lYx4y6YP7lNGNrwGVZg5L7bK3m_JQKGq5tRSXrympGmn24FjmgHjThgtif7tkW_P8mfnJzm3HabgHDwRmka39YGlTF-kNK1r1UQ", "dp": "HKIfoElqEXFmkwheHp7SiTAbhKH62CXe33iERXgh_IB93JSynlcDtmlrFxfdmSDiIUIDEm-vcEc4Wvlw1GStrfG7VQGpzcJqEmbX02SX2hjPq2EiPeynNmLLXbUzH6f28TgOzGqI3znE6uD5b3hPY5MJqR1uZGnADbLmq4fsB4l81pDzrQWWYTtYIRICoFmzwDC8cT8aoZ0ygSsD-BotU3dj8iSg6pW0frJLIlzmjpFVcaiaH8kQ2WX45xnvvLjI-S4eWgKpoKEZ1k3pG3iUZuI6l4l_aiv5kjuP-laeldwGAz89gFhifxjXL53Ka6vCbA1GYsaxQ7R8VoujUnUTiQ", "dq": "mGYpV2eaFPSVrFQCAK8zUzGPb9Vf6NgA7NA9sTkhXAIEgitl3KhAkWpZ_shIU5jtKCItHYMuPU1tCBoFTN1BhcDJ2zQ_lW-480r6pAr39uKr_y5mZ64pAd1Lbv7prpoIeAOJTgtZ0C2AFSgHVPI1XgKAtfjW_tMEpunu9XJ9PSoTggf6KNRt80EjEQ1Cr1fUnE6gLVsVQV8i6UjIdKU-ZsaAKwiFYXgrP7nQiuxut3DzVZ35lb1eEnO9q2tf_G5aw5BVvtrSoXeOzS6_VNM1jk2PvPqTxkZTy4NT9ccYDp3IpGnD-9YzovVJIRDYLWk2EfKxHRmFSmX8ce5obRr2IQ", "qi": "B2mgbn4WBBjKpxKd989jvjNbJ3wwJybPKvdDJ-3XgpbJ-PiXCd8xm_N1kWtvVd_2NVl6vug0kLKVShSyH4y7gY5E4B34u3rbM1sgwP2Se2IvMQjWiMSCtgGiEV3wVSLbdWTueoGpT58-OH_rxJFUR3ox08PpyhFS0Lz2o9YELBXzPdE58zFpHySu8PYsb3j5N_r5_Fr98xJcSEXzi2MnrobPF-xWu2bmIbqYZ_mIIUvqFokfdm-8hHQy492qxVCPC5NV5TRJf6YIm5QsxglwH131LSy9jrEaVhhshjTzY34ZLRCDig_JXhYZiw8_8ZPE89KpROS8ag__05ra4aod6g", "kty": "RSA"}
|
||||
@ -0,0 +1 @@
|
||||
{"body": {"key": {"n": "0CZhC6bjwv-TtxEDRl-CGEnve4l-JD-RiwRZYdGjpXJrR-bxeoDiltL8w13ZXqQHGioP7b3G29-J9bMrlH9yqipvukorqZCaKahFUhOWWEvFPW9Kol5bD4-vrXqUvriORHcKIcxb2BIZww1hjzGuzMXdOIc2iX_AG5OOIoM59Q4QY93WluJ76MlCO-9aBQo4Ai0FEHSNF-kX4cG0Y66xWkjW-juaPJt_vFRiHQttJQ1hfYLQaV125z0zbk8AKEz5KHvBWjez2LlENvHn0O3wFSLuDrJgqo8UjH4cHCphCJT2VhcwZvtKcOuKL7oZRYwN_kYF-nN7AJ2vXBeccoPNQ4lx0D4dJJdrQ4ec7D_5775Y8A3SOcKTYHQZM5mhVeNjZlR6OHDE3nENdPvEGS-zirWEAD7394UGJFtShRGV7T7EdcOezUwiRPv2ULQF1icZsm6uPrPKE56NqoK7KFYj1tPVKffAtIAMuhF8qY3715zX7iV3o2Oz7wWJU7nVT3OMPGOTSHn4LTubLjNpx75nZEKSiDm4qVOsHhkhD7rjckQSkG_k3KHyI7CTB5v8CA-Map2jaqQKr6XnLMJAa78VGNQQhqJnRN7p0nR6fqZwkoLeqY_1-XgQ3SY_DBVxMS56Fws9Lu4HnLOiIX2525HUx6CFUj66RJ2rm_sONCH3SEk", "e": "AQAB", "kty": "RSA"}, "contact": ["mailto:ouch@thetrauma.org"], "status": "valid"}, "uri": "https://acme-v02.api.letsencrypt.org/acme/acct/93765291", "terms_of_service": "https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf"}
|
||||
30
certs/default.crt
Normal file
30
certs/default.crt
Normal file
@ -0,0 +1,30 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
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
|
||||
-----END CERTIFICATE-----
|
||||
52
certs/default.key
Normal file
52
certs/default.key
Normal file
@ -0,0 +1,52 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
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
|
||||
RhUlTHQlzbjGbDKVa/y8pIPu3pTm1g==
|
||||
-----END PRIVATE KEY-----
|
||||
8
certs/dhparam.pem
Normal file
8
certs/dhparam.pem
Normal file
@ -0,0 +1,8 @@
|
||||
-----BEGIN DH PARAMETERS-----
|
||||
MIIBCAKCAQEAriPOFT9XbeOvk44sMGTrx0Ipf+R+6UW4dfCthNY1UaMVA+23lYig
|
||||
Z0iWJ4H3Oy9Zds0i1T2k40iWd6JJ/5bK5UNE8yYEVLawf4S+zw3/lx/JG2hY1K64
|
||||
NwGsqVkcA5EX801T1iv7Gdv/1E6UccHw5Ycb4EcKnl9taEbQXiAD4C9u4fdsAkvf
|
||||
2Walpagc6vURpdFYHp+F4t/3t0f6IL6k/BJ2vAJlZ+KfLbn2INGCM8qkZ0YW3FaF
|
||||
FgSpz7rY4kWYL2cnU1l7vcIapIRugxpKV7IOdtY9mZxdah1O9OWoxBZV9l1mdUlZ
|
||||
a1SgbUw8Q5g7bv3A3u8jq19JoE/hwOUg0wIBAg==
|
||||
-----END DH PARAMETERS-----
|
||||
1
certs/git.airdog.site.chain.pem
Symbolic link
1
certs/git.airdog.site.chain.pem
Symbolic link
@ -0,0 +1 @@
|
||||
./git.airdog.site/chain.pem
|
||||
1
certs/git.airdog.site.crt
Symbolic link
1
certs/git.airdog.site.crt
Symbolic link
@ -0,0 +1 @@
|
||||
./git.airdog.site/fullchain.pem
|
||||
1
certs/git.airdog.site.dhparam.pem
Symbolic link
1
certs/git.airdog.site.dhparam.pem
Symbolic link
@ -0,0 +1 @@
|
||||
./dhparam.pem
|
||||
1
certs/git.airdog.site.key
Symbolic link
1
certs/git.airdog.site.key
Symbolic link
@ -0,0 +1 @@
|
||||
./git.airdog.site/key.pem
|
||||
0
certs/git.airdog.site/.companion
Normal file
0
certs/git.airdog.site/.companion
Normal file
1
certs/git.airdog.site/account_key.json
Symbolic link
1
certs/git.airdog.site/account_key.json
Symbolic link
@ -0,0 +1 @@
|
||||
../accounts/acme-v02.api.letsencrypt.org/directory/default_key.json
|
||||
1
certs/git.airdog.site/account_reg.json
Symbolic link
1
certs/git.airdog.site/account_reg.json
Symbolic link
@ -0,0 +1 @@
|
||||
../accounts/acme-v02.api.letsencrypt.org/directory/default_reg.json
|
||||
36
certs/git.airdog.site/cert.pem
Normal file
36
certs/git.airdog.site/cert.pem
Normal file
@ -0,0 +1,36 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIGVTCCBT2gAwIBAgISBJKdTX/9sW9DJmxpPCoECsUgMA0GCSqGSIb3DQEBCwUA
|
||||
MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD
|
||||
ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0yMDA4MTMxNTM1MDhaFw0y
|
||||
MDExMTExNTM1MDhaMBoxGDAWBgNVBAMTD2dpdC5haXJkb2cuc2l0ZTCCAiIwDQYJ
|
||||
KoZIhvcNAQEBBQADggIPADCCAgoCggIBAMwq0ClselXF04EK3DLxShI8BkBOD/WA
|
||||
XWi7ECKYlzlXEPrafMK9p8ll2N7quSegycHW2j7Q7gvrPF81t4oRDMpYIOZQWpKr
|
||||
r+chzdDnZP/hk7JxMB0Yi2XMH5ozNhtxZ9AgMgp/UzCoiiK2624AiKTwnS7/N2UE
|
||||
FEOmLTXrHn0gmbI6oW/T0R1DUpqMMxL1QeDLS5SN77ZjDtLwZgGwt0cRJbv25wxE
|
||||
n+9uIhLKoVOeFiw7UdGTRGVqQrNVCPqeZ7c/lVpjUHF1eJXGTl32XsSs3j+89Xv1
|
||||
J9w+L0aUMubE6IIy9NmOJoOKZmwaaWq43noclNvapMO4CTAv0/xI5SLgFCve1vnL
|
||||
5fKZb7I4AS0aFguCg6F2iQT6KU47v+9kl+9filrwmyoLGyqJ402Ufa1hdKC8B8+J
|
||||
ZFhWcTUYNJ5OZK9sgZmCSIBfBF9gy+hXKgYDyBfqut1gh/WQO8CNS66MgMayrF/n
|
||||
A4UW4GnXUTg7LBi7e4l9ULV6dnBLEf7qO0Eg/fQj8oXPRqoc42h+mhoIk8CFATy2
|
||||
a64a4ZU9lZ/QwzuJkj54E+UurTxKr0PwZoUqZ3+s3FbLrOc/VBly7sWGxPxVLRjM
|
||||
Lp9CV6+eFnVtRdhmaSqZf8ewbLo/MHa+UJ3nk2OKr6aGkAIqBpSuo6K46sFyODVX
|
||||
aNCNDgNbDsWHAgMBAAGjggJjMIICXzAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYw
|
||||
FAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFCFM
|
||||
gP4KSDEe/hFUyBwDlMfn7BdWMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/z
|
||||
qOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3AuaW50
|
||||
LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50
|
||||
LXgzLmxldHNlbmNyeXB0Lm9yZy8wGgYDVR0RBBMwEYIPZ2l0LmFpcmRvZy5zaXRl
|
||||
MEwGA1UdIARFMEMwCAYGZ4EMAQIBMDcGCysGAQQBgt8TAQEBMCgwJgYIKwYBBQUH
|
||||
AgEWGmh0dHA6Ly9jcHMubGV0c2VuY3J5cHQub3JnMIIBAwYKKwYBBAHWeQIEAgSB
|
||||
9ASB8QDvAHUAB7dcG+V9aP/xsMYdIxXHuuZXfFeUt2ruvGE6GmnTohwAAAFz6Kza
|
||||
DQAABAMARjBEAiBB6jr5uFBeSaEi/Wah5ZroENvMjaALl2lnt5fLux05sQIgFTAc
|
||||
V8RE84YTUg9XXEMO0CFRQ8AtABfDkFIRDRhUfGMAdgBep3P531bA57U2SH3QSeAy
|
||||
epGaDIShEhKEGHWWgXFFWAAAAXPorNt3AAAEAwBHMEUCIFfDBeYPX/uOGQ9zomuD
|
||||
Ko7z8zB2Jq0BhgeqPDoP3uXHAiEA0IWnTxm3BEvCLjb/XPgOQ0Pik5gH79L0K77I
|
||||
UCN+NFMwDQYJKoZIhvcNAQELBQADggEBAJXcWWaXWknm3RHhQDUZzLv551chdmi9
|
||||
6/1Tesq+3NFMJ8DiR+kZtJnAtThBekr7Fz0kvnCnK2W7xSCu1HevLgVBRjKNWlf2
|
||||
8p8Q0RLmNMUUQxyBQl2aXfbA+KK1EAC1eWLWSP/zGEAs1tt6dbvgosNtb3ZI/DZ1
|
||||
PcmLTACbNsH03tea+j+w3b0RHZLYxFLHjHvbkH+oaLFmsAfUIzDm8o5uEpXcwg3z
|
||||
gA+G2OuwOLUtM7bBYQz6nJ+pM7ElTtfIFK10cT/WoTpXyU4Iw/0vrT7ExoUAQM5I
|
||||
8QXcxrJr4gBWXriBAAUi+wRrVKrrg81+Sk8X5rVj4qxDhaTtgrRWMQs=
|
||||
-----END CERTIFICATE-----
|
||||
27
certs/git.airdog.site/chain.pem
Normal file
27
certs/git.airdog.site/chain.pem
Normal file
@ -0,0 +1,27 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/
|
||||
MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
|
||||
DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow
|
||||
SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT
|
||||
GkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC
|
||||
AQ8AMIIBCgKCAQEAnNMM8FrlLke3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF
|
||||
q6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8
|
||||
SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0
|
||||
Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA
|
||||
a6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj
|
||||
/PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIDAQABo4IBfTCCAXkwEgYDVR0T
|
||||
AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG
|
||||
CCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv
|
||||
bTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k
|
||||
c3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw
|
||||
VAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC
|
||||
ARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz
|
||||
MDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu
|
||||
Y3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF
|
||||
AAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo
|
||||
uM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/
|
||||
wApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu
|
||||
X4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG
|
||||
PfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6
|
||||
KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg==
|
||||
-----END CERTIFICATE-----
|
||||
63
certs/git.airdog.site/fullchain.pem
Normal file
63
certs/git.airdog.site/fullchain.pem
Normal file
@ -0,0 +1,63 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIGVTCCBT2gAwIBAgISBJKdTX/9sW9DJmxpPCoECsUgMA0GCSqGSIb3DQEBCwUA
|
||||
MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD
|
||||
ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0yMDA4MTMxNTM1MDhaFw0y
|
||||
MDExMTExNTM1MDhaMBoxGDAWBgNVBAMTD2dpdC5haXJkb2cuc2l0ZTCCAiIwDQYJ
|
||||
KoZIhvcNAQEBBQADggIPADCCAgoCggIBAMwq0ClselXF04EK3DLxShI8BkBOD/WA
|
||||
XWi7ECKYlzlXEPrafMK9p8ll2N7quSegycHW2j7Q7gvrPF81t4oRDMpYIOZQWpKr
|
||||
r+chzdDnZP/hk7JxMB0Yi2XMH5ozNhtxZ9AgMgp/UzCoiiK2624AiKTwnS7/N2UE
|
||||
FEOmLTXrHn0gmbI6oW/T0R1DUpqMMxL1QeDLS5SN77ZjDtLwZgGwt0cRJbv25wxE
|
||||
n+9uIhLKoVOeFiw7UdGTRGVqQrNVCPqeZ7c/lVpjUHF1eJXGTl32XsSs3j+89Xv1
|
||||
J9w+L0aUMubE6IIy9NmOJoOKZmwaaWq43noclNvapMO4CTAv0/xI5SLgFCve1vnL
|
||||
5fKZb7I4AS0aFguCg6F2iQT6KU47v+9kl+9filrwmyoLGyqJ402Ufa1hdKC8B8+J
|
||||
ZFhWcTUYNJ5OZK9sgZmCSIBfBF9gy+hXKgYDyBfqut1gh/WQO8CNS66MgMayrF/n
|
||||
A4UW4GnXUTg7LBi7e4l9ULV6dnBLEf7qO0Eg/fQj8oXPRqoc42h+mhoIk8CFATy2
|
||||
a64a4ZU9lZ/QwzuJkj54E+UurTxKr0PwZoUqZ3+s3FbLrOc/VBly7sWGxPxVLRjM
|
||||
Lp9CV6+eFnVtRdhmaSqZf8ewbLo/MHa+UJ3nk2OKr6aGkAIqBpSuo6K46sFyODVX
|
||||
aNCNDgNbDsWHAgMBAAGjggJjMIICXzAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYw
|
||||
FAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFCFM
|
||||
gP4KSDEe/hFUyBwDlMfn7BdWMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/z
|
||||
qOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3AuaW50
|
||||
LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50
|
||||
LXgzLmxldHNlbmNyeXB0Lm9yZy8wGgYDVR0RBBMwEYIPZ2l0LmFpcmRvZy5zaXRl
|
||||
MEwGA1UdIARFMEMwCAYGZ4EMAQIBMDcGCysGAQQBgt8TAQEBMCgwJgYIKwYBBQUH
|
||||
AgEWGmh0dHA6Ly9jcHMubGV0c2VuY3J5cHQub3JnMIIBAwYKKwYBBAHWeQIEAgSB
|
||||
9ASB8QDvAHUAB7dcG+V9aP/xsMYdIxXHuuZXfFeUt2ruvGE6GmnTohwAAAFz6Kza
|
||||
DQAABAMARjBEAiBB6jr5uFBeSaEi/Wah5ZroENvMjaALl2lnt5fLux05sQIgFTAc
|
||||
V8RE84YTUg9XXEMO0CFRQ8AtABfDkFIRDRhUfGMAdgBep3P531bA57U2SH3QSeAy
|
||||
epGaDIShEhKEGHWWgXFFWAAAAXPorNt3AAAEAwBHMEUCIFfDBeYPX/uOGQ9zomuD
|
||||
Ko7z8zB2Jq0BhgeqPDoP3uXHAiEA0IWnTxm3BEvCLjb/XPgOQ0Pik5gH79L0K77I
|
||||
UCN+NFMwDQYJKoZIhvcNAQELBQADggEBAJXcWWaXWknm3RHhQDUZzLv551chdmi9
|
||||
6/1Tesq+3NFMJ8DiR+kZtJnAtThBekr7Fz0kvnCnK2W7xSCu1HevLgVBRjKNWlf2
|
||||
8p8Q0RLmNMUUQxyBQl2aXfbA+KK1EAC1eWLWSP/zGEAs1tt6dbvgosNtb3ZI/DZ1
|
||||
PcmLTACbNsH03tea+j+w3b0RHZLYxFLHjHvbkH+oaLFmsAfUIzDm8o5uEpXcwg3z
|
||||
gA+G2OuwOLUtM7bBYQz6nJ+pM7ElTtfIFK10cT/WoTpXyU4Iw/0vrT7ExoUAQM5I
|
||||
8QXcxrJr4gBWXriBAAUi+wRrVKrrg81+Sk8X5rVj4qxDhaTtgrRWMQs=
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/
|
||||
MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
|
||||
DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow
|
||||
SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT
|
||||
GkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC
|
||||
AQ8AMIIBCgKCAQEAnNMM8FrlLke3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF
|
||||
q6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8
|
||||
SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0
|
||||
Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA
|
||||
a6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj
|
||||
/PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIDAQABo4IBfTCCAXkwEgYDVR0T
|
||||
AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG
|
||||
CCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv
|
||||
bTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k
|
||||
c3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw
|
||||
VAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC
|
||||
ARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz
|
||||
MDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu
|
||||
Y3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF
|
||||
AAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo
|
||||
uM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/
|
||||
wApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu
|
||||
X4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG
|
||||
PfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6
|
||||
KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg==
|
||||
-----END CERTIFICATE-----
|
||||
52
certs/git.airdog.site/key.pem
Normal file
52
certs/git.airdog.site/key.pem
Normal file
@ -0,0 +1,52 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIJRAIBADANBgkqhkiG9w0BAQEFAASCCS4wggkqAgEAAoICAQDMKtApbHpVxdOB
|
||||
Ctwy8UoSPAZATg/1gF1ouxAimJc5VxD62nzCvafJZdje6rknoMnB1to+0O4L6zxf
|
||||
NbeKEQzKWCDmUFqSq6/nIc3Q52T/4ZOycTAdGItlzB+aMzYbcWfQIDIKf1MwqIoi
|
||||
tutuAIik8J0u/zdlBBRDpi016x59IJmyOqFv09EdQ1KajDMS9UHgy0uUje+2Yw7S
|
||||
8GYBsLdHESW79ucMRJ/vbiISyqFTnhYsO1HRk0RlakKzVQj6nme3P5VaY1BxdXiV
|
||||
xk5d9l7ErN4/vPV79SfcPi9GlDLmxOiCMvTZjiaDimZsGmlquN56HJTb2qTDuAkw
|
||||
L9P8SOUi4BQr3tb5y+XymW+yOAEtGhYLgoOhdokE+ilOO7/vZJfvX4pa8JsqCxsq
|
||||
ieNNlH2tYXSgvAfPiWRYVnE1GDSeTmSvbIGZgkiAXwRfYMvoVyoGA8gX6rrdYIf1
|
||||
kDvAjUuujIDGsqxf5wOFFuBp11E4OywYu3uJfVC1enZwSxH+6jtBIP30I/KFz0aq
|
||||
HONofpoaCJPAhQE8tmuuGuGVPZWf0MM7iZI+eBPlLq08Sq9D8GaFKmd/rNxWy6zn
|
||||
P1QZcu7FhsT8VS0YzC6fQlevnhZ1bUXYZmkqmX/HsGy6PzB2vlCd55Njiq+mhpAC
|
||||
KgaUrqOiuOrBcjg1V2jQjQ4DWw7FhwIDAQABAoICAQC648nu0UzerRrhueY9f6A1
|
||||
NtrmDE8RhLJ8xxeLA7ESHP//EPc5cFBhzCgMTkK04rstBBZ9f9UX9foqkUp0SQ0z
|
||||
QB7FlPKD5kM7yTbUrqxGiuAfbPsE903LHmIjThOOZW4JFx+XelvVY8Im6thxtm1e
|
||||
xp6rwZWck3JVRo2GGLatBaWLf539dqCqL9EyhXnPNdBbDN0fnBm9E8ojD0ng7Dmp
|
||||
BSpMeEOheEQK8P6hwviQSVq0nIxV0n++cdmivQleGJiKJtr5hYXChiyetYtQ+dBg
|
||||
Knm7UKZKFOyq8AVojwpVMhQ/8pMtfrEEojEFbdvnhFiq4PTml6tROWq3wGBFRRjx
|
||||
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
|
||||
NN/hm5Dvq/sDy2gVoUQInCzdOnrTYY6Q
|
||||
-----END PRIVATE KEY-----
|
||||
1
certs/next.airdog.site.chain.pem
Symbolic link
1
certs/next.airdog.site.chain.pem
Symbolic link
@ -0,0 +1 @@
|
||||
./next.airdog.site/chain.pem
|
||||
1
certs/next.airdog.site.crt
Symbolic link
1
certs/next.airdog.site.crt
Symbolic link
@ -0,0 +1 @@
|
||||
./next.airdog.site/fullchain.pem
|
||||
1
certs/next.airdog.site.dhparam.pem
Symbolic link
1
certs/next.airdog.site.dhparam.pem
Symbolic link
@ -0,0 +1 @@
|
||||
./dhparam.pem
|
||||
1
certs/next.airdog.site.key
Symbolic link
1
certs/next.airdog.site.key
Symbolic link
@ -0,0 +1 @@
|
||||
./next.airdog.site/key.pem
|
||||
0
certs/next.airdog.site/.companion
Normal file
0
certs/next.airdog.site/.companion
Normal file
1
certs/next.airdog.site/account_key.json
Symbolic link
1
certs/next.airdog.site/account_key.json
Symbolic link
@ -0,0 +1 @@
|
||||
../accounts/acme-v02.api.letsencrypt.org/directory/default_key.json
|
||||
1
certs/next.airdog.site/account_reg.json
Symbolic link
1
certs/next.airdog.site/account_reg.json
Symbolic link
@ -0,0 +1 @@
|
||||
../accounts/acme-v02.api.letsencrypt.org/directory/default_reg.json
|
||||
36
certs/next.airdog.site/cert.pem
Normal file
36
certs/next.airdog.site/cert.pem
Normal file
@ -0,0 +1,36 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIGWDCCBUCgAwIBAgISBK2svrtOPYhEIis+hGALGpgYMA0GCSqGSIb3DQEBCwUA
|
||||
MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD
|
||||
ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0yMDA4MTIxNjM5MTVaFw0y
|
||||
MDExMTAxNjM5MTVaMBsxGTAXBgNVBAMTEG5leHQuYWlyZG9nLnNpdGUwggIiMA0G
|
||||
CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCX0wO1LgM1Cq8kvF77bMp8xpu+V4xm
|
||||
uJB3I1QBWHSNMfBoluMcIW317QtnldlWPk7+/QqCpiZn3Y2kCBoGgO0qyzpfkZV3
|
||||
KNRUie9H2j1RkbhmpmCE/7FMkH4IO9JkaYq1+tXkAOAopK4ADbqo6itXBHla62lB
|
||||
D05ioAdQKq+IQGhQxmoaECOWOMAp/WOQFtrrV7F3yjm5YERid3aBENy47ndnNYJL
|
||||
FuFT1xZsnb9wqyAOimCYtUKkylnqN55yznsHc2l3Ewoss0pax/Wv47JmbEimWA7g
|
||||
tU2Al52eJrl8yC76yv3u/utsN0m2CzAoH3GmNTrqp00l6V2bJ9OPwyqCZS/krpr+
|
||||
MwV0ijqM45rkOGXLx8Ly9GuQSSJH3euAvdgeRsKtFULNgzYo5J2lTB9/v7cc32aI
|
||||
gfUD15zMk3TB7RRtvCPyqTlFqwaHl9F2xE/9Rtqx7Do5n+UqLB2HScAtzk4RPWwt
|
||||
31pQGJrW1sRMxeL5pdhcrPDzTmqiCsCaEbzhFrCU2cLfvqdJ9xSUiCV1AqqZhdsa
|
||||
sRxhxJKsfbTw5dVNZQsck4VOWBOFR71mpmwqsJuqjy3ys/q91ThQMaaV8SkcLOY/
|
||||
k7uJQg/8YALPrLG5mrTvFF4qf15a5VvHaz5f4mGtg0HV5DZjDN4KexznVMrUONUG
|
||||
LWPamJJjmeytQQIDAQABo4ICZTCCAmEwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQW
|
||||
MBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBRX
|
||||
azfGrn4tfmc3ALWYnQvxDKT46TAfBgNVHSMEGDAWgBSoSmpjBH3duubRObemRWXv
|
||||
86jsoTBvBggrBgEFBQcBAQRjMGEwLgYIKwYBBQUHMAGGImh0dHA6Ly9vY3NwLmlu
|
||||
dC14My5sZXRzZW5jcnlwdC5vcmcwLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0Lmlu
|
||||
dC14My5sZXRzZW5jcnlwdC5vcmcvMBsGA1UdEQQUMBKCEG5leHQuYWlyZG9nLnNp
|
||||
dGUwTAYDVR0gBEUwQzAIBgZngQwBAgEwNwYLKwYBBAGC3xMBAQEwKDAmBggrBgEF
|
||||
BQcCARYaaHR0cDovL2Nwcy5sZXRzZW5jcnlwdC5vcmcwggEEBgorBgEEAdZ5AgQC
|
||||
BIH1BIHyAPAAdgDnEvKwN34aYvuOyQxhhPHqezfLVh0RJlvz4PNL8kFUbgAAAXPj
|
||||
wTF4AAAEAwBHMEUCIQDwm0bm+9ZQg643I1Q0bJxoAxtXRzBCHPBg7LSS+2G26wIg
|
||||
Tu2L7x6Ra/ObXLn2ytdtdIU7PmRS++W8dZoO5OiZuSoAdgCyHgXMi6LNiiBOh2b5
|
||||
K7mKJSBna9r6cOeySVMt74uQXgAAAXPjwTNuAAAEAwBHMEUCIQCMRplV8fyTM9l5
|
||||
OBBI1wvc9x1woj1R+zvymX4dFeU/wwIgebiY2/Imff99YIXzPR1/A/XkPSV6Kb0f
|
||||
2SpNBAYkneYwDQYJKoZIhvcNAQELBQADggEBAH/3XehkLqeLnZgTjNl6IdBjWj8I
|
||||
UonpayVYrL+CWzRTE8DWKBZFjErIw+BFTdLPWtGLTaL4obu/2DyWDkBzjo8fYeDg
|
||||
aV+kbGW4Qiw/jQ2QLts/AiGvMTkcsyA/PWdCAc7V1vyIbeskixyX96VczFSx32EM
|
||||
hwIhgWiXsqDYWUojbi6mltIpWWmiLBwubxiGi5YdE32Ecr/B+xsYh2YvQss2Xbc4
|
||||
oW7pQBOj67kG3Iez9380stySqJbWVhyy3oZZ4CK5ZackS0AKtj+St7EgTNx/2ZVw
|
||||
blNR70AnVI4lZG0cz38dkj9TevRKDYXeMeqnC6CgDT02Wqu8wf8OMbg7OmA=
|
||||
-----END CERTIFICATE-----
|
||||
27
certs/next.airdog.site/chain.pem
Normal file
27
certs/next.airdog.site/chain.pem
Normal file
@ -0,0 +1,27 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/
|
||||
MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
|
||||
DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow
|
||||
SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT
|
||||
GkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC
|
||||
AQ8AMIIBCgKCAQEAnNMM8FrlLke3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF
|
||||
q6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8
|
||||
SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0
|
||||
Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA
|
||||
a6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj
|
||||
/PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIDAQABo4IBfTCCAXkwEgYDVR0T
|
||||
AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG
|
||||
CCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv
|
||||
bTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k
|
||||
c3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw
|
||||
VAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC
|
||||
ARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz
|
||||
MDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu
|
||||
Y3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF
|
||||
AAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo
|
||||
uM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/
|
||||
wApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu
|
||||
X4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG
|
||||
PfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6
|
||||
KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg==
|
||||
-----END CERTIFICATE-----
|
||||
63
certs/next.airdog.site/fullchain.pem
Normal file
63
certs/next.airdog.site/fullchain.pem
Normal file
@ -0,0 +1,63 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIGWDCCBUCgAwIBAgISBK2svrtOPYhEIis+hGALGpgYMA0GCSqGSIb3DQEBCwUA
|
||||
MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD
|
||||
ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0yMDA4MTIxNjM5MTVaFw0y
|
||||
MDExMTAxNjM5MTVaMBsxGTAXBgNVBAMTEG5leHQuYWlyZG9nLnNpdGUwggIiMA0G
|
||||
CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCX0wO1LgM1Cq8kvF77bMp8xpu+V4xm
|
||||
uJB3I1QBWHSNMfBoluMcIW317QtnldlWPk7+/QqCpiZn3Y2kCBoGgO0qyzpfkZV3
|
||||
KNRUie9H2j1RkbhmpmCE/7FMkH4IO9JkaYq1+tXkAOAopK4ADbqo6itXBHla62lB
|
||||
D05ioAdQKq+IQGhQxmoaECOWOMAp/WOQFtrrV7F3yjm5YERid3aBENy47ndnNYJL
|
||||
FuFT1xZsnb9wqyAOimCYtUKkylnqN55yznsHc2l3Ewoss0pax/Wv47JmbEimWA7g
|
||||
tU2Al52eJrl8yC76yv3u/utsN0m2CzAoH3GmNTrqp00l6V2bJ9OPwyqCZS/krpr+
|
||||
MwV0ijqM45rkOGXLx8Ly9GuQSSJH3euAvdgeRsKtFULNgzYo5J2lTB9/v7cc32aI
|
||||
gfUD15zMk3TB7RRtvCPyqTlFqwaHl9F2xE/9Rtqx7Do5n+UqLB2HScAtzk4RPWwt
|
||||
31pQGJrW1sRMxeL5pdhcrPDzTmqiCsCaEbzhFrCU2cLfvqdJ9xSUiCV1AqqZhdsa
|
||||
sRxhxJKsfbTw5dVNZQsck4VOWBOFR71mpmwqsJuqjy3ys/q91ThQMaaV8SkcLOY/
|
||||
k7uJQg/8YALPrLG5mrTvFF4qf15a5VvHaz5f4mGtg0HV5DZjDN4KexznVMrUONUG
|
||||
LWPamJJjmeytQQIDAQABo4ICZTCCAmEwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQW
|
||||
MBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBRX
|
||||
azfGrn4tfmc3ALWYnQvxDKT46TAfBgNVHSMEGDAWgBSoSmpjBH3duubRObemRWXv
|
||||
86jsoTBvBggrBgEFBQcBAQRjMGEwLgYIKwYBBQUHMAGGImh0dHA6Ly9vY3NwLmlu
|
||||
dC14My5sZXRzZW5jcnlwdC5vcmcwLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0Lmlu
|
||||
dC14My5sZXRzZW5jcnlwdC5vcmcvMBsGA1UdEQQUMBKCEG5leHQuYWlyZG9nLnNp
|
||||
dGUwTAYDVR0gBEUwQzAIBgZngQwBAgEwNwYLKwYBBAGC3xMBAQEwKDAmBggrBgEF
|
||||
BQcCARYaaHR0cDovL2Nwcy5sZXRzZW5jcnlwdC5vcmcwggEEBgorBgEEAdZ5AgQC
|
||||
BIH1BIHyAPAAdgDnEvKwN34aYvuOyQxhhPHqezfLVh0RJlvz4PNL8kFUbgAAAXPj
|
||||
wTF4AAAEAwBHMEUCIQDwm0bm+9ZQg643I1Q0bJxoAxtXRzBCHPBg7LSS+2G26wIg
|
||||
Tu2L7x6Ra/ObXLn2ytdtdIU7PmRS++W8dZoO5OiZuSoAdgCyHgXMi6LNiiBOh2b5
|
||||
K7mKJSBna9r6cOeySVMt74uQXgAAAXPjwTNuAAAEAwBHMEUCIQCMRplV8fyTM9l5
|
||||
OBBI1wvc9x1woj1R+zvymX4dFeU/wwIgebiY2/Imff99YIXzPR1/A/XkPSV6Kb0f
|
||||
2SpNBAYkneYwDQYJKoZIhvcNAQELBQADggEBAH/3XehkLqeLnZgTjNl6IdBjWj8I
|
||||
UonpayVYrL+CWzRTE8DWKBZFjErIw+BFTdLPWtGLTaL4obu/2DyWDkBzjo8fYeDg
|
||||
aV+kbGW4Qiw/jQ2QLts/AiGvMTkcsyA/PWdCAc7V1vyIbeskixyX96VczFSx32EM
|
||||
hwIhgWiXsqDYWUojbi6mltIpWWmiLBwubxiGi5YdE32Ecr/B+xsYh2YvQss2Xbc4
|
||||
oW7pQBOj67kG3Iez9380stySqJbWVhyy3oZZ4CK5ZackS0AKtj+St7EgTNx/2ZVw
|
||||
blNR70AnVI4lZG0cz38dkj9TevRKDYXeMeqnC6CgDT02Wqu8wf8OMbg7OmA=
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/
|
||||
MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
|
||||
DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow
|
||||
SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT
|
||||
GkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC
|
||||
AQ8AMIIBCgKCAQEAnNMM8FrlLke3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF
|
||||
q6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8
|
||||
SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0
|
||||
Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA
|
||||
a6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj
|
||||
/PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIDAQABo4IBfTCCAXkwEgYDVR0T
|
||||
AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG
|
||||
CCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv
|
||||
bTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k
|
||||
c3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw
|
||||
VAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC
|
||||
ARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz
|
||||
MDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu
|
||||
Y3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF
|
||||
AAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo
|
||||
uM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/
|
||||
wApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu
|
||||
X4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG
|
||||
PfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6
|
||||
KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg==
|
||||
-----END CERTIFICATE-----
|
||||
52
certs/next.airdog.site/key.pem
Normal file
52
certs/next.airdog.site/key.pem
Normal file
@ -0,0 +1,52 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
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
|
||||
fuIcZhr/AapWaoKBl50pJEZUuMKpyfE=
|
||||
-----END PRIVATE KEY-----
|
||||
1
certs/rocket.airdog.site.chain.pem
Symbolic link
1
certs/rocket.airdog.site.chain.pem
Symbolic link
@ -0,0 +1 @@
|
||||
./rocket.airdog.site/chain.pem
|
||||
1
certs/rocket.airdog.site.crt
Symbolic link
1
certs/rocket.airdog.site.crt
Symbolic link
@ -0,0 +1 @@
|
||||
./rocket.airdog.site/fullchain.pem
|
||||
1
certs/rocket.airdog.site.dhparam.pem
Symbolic link
1
certs/rocket.airdog.site.dhparam.pem
Symbolic link
@ -0,0 +1 @@
|
||||
./dhparam.pem
|
||||
1
certs/rocket.airdog.site.key
Symbolic link
1
certs/rocket.airdog.site.key
Symbolic link
@ -0,0 +1 @@
|
||||
./rocket.airdog.site/key.pem
|
||||
0
certs/rocket.airdog.site/.companion
Normal file
0
certs/rocket.airdog.site/.companion
Normal file
1
certs/rocket.airdog.site/account_key.json
Symbolic link
1
certs/rocket.airdog.site/account_key.json
Symbolic link
@ -0,0 +1 @@
|
||||
../accounts/acme-v02.api.letsencrypt.org/directory/default_key.json
|
||||
1
certs/rocket.airdog.site/account_reg.json
Symbolic link
1
certs/rocket.airdog.site/account_reg.json
Symbolic link
@ -0,0 +1 @@
|
||||
../accounts/acme-v02.api.letsencrypt.org/directory/default_reg.json
|
||||
36
certs/rocket.airdog.site/cert.pem
Normal file
36
certs/rocket.airdog.site/cert.pem
Normal file
@ -0,0 +1,36 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIGXDCCBUSgAwIBAgISA1Pe9S0PLsQYiho3SJXSfnTUMA0GCSqGSIb3DQEBCwUA
|
||||
MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD
|
||||
ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0yMDA4MTIxODMxNTlaFw0y
|
||||
MDExMTAxODMxNTlaMB0xGzAZBgNVBAMTEnJvY2tldC5haXJkb2cuc2l0ZTCCAiIw
|
||||
DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALD90mfIv3i2X18OGpag9Cy0ItG/
|
||||
Ld2RBGIR6uAP/pGwz0FlkbGxrxDTOXlUX3Vd2QxRXQcsjx0ow4CxhpLy7625thHw
|
||||
d77N9RNCwZdv3CcRifANbXrkfnwNPKDW1v8A84Gb+GKXgKTL9hygI1RKeao3dBrO
|
||||
ewMWZcpdPwlqYxWkEzGaQ/I1lNplFXFOlFsJFtEXu3pb83jCMQ+wpC26v8DtZdkn
|
||||
73zLDZ2+llGgMKfQKjjSagdMeqfNzshFSswf6YprjTYd5n1SeNh2xCsn5ZbAFETU
|
||||
ku0ZoN+h7jMqTG6Jr0r1Lr4oJ7DzV3vY0Ahzf+4OJ+uxEjg/WwveoWdSBJM84G2/
|
||||
cxP/f/F98SYmF0uuq+aeaAjAcBqUwe2l6sVDKPXOsLiIWLnWixM9jBb/2ezPsFW0
|
||||
s9lbf041A4ovvWjd9loKNIzel3YBKYKN6sa4CEpW/BJoB4X3b2ykQ80qNVhTtV9u
|
||||
CHdYc19l7SOJv/K9F+g1b45Eqshhb3aaIdOHWrxZfljDP4eGvdQm571trEwqA9SK
|
||||
eYhOnOrTwPob5FvRDKz6RlNSl8j+T2+3PDFCGWA1pt54rS0TKtcL0iVW+5AXr8Ez
|
||||
MiU4wZXF3ylffkAT6KrY6KW37jlez6WRaWNMA4VoYLLMo1vV8wBG9sfuvwlznmqO
|
||||
CJkXT10FfWqnM6UBAgMBAAGjggJnMIICYzAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l
|
||||
BBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE
|
||||
FPv3jhS82016ba1ZVaOCISguBTXwMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF
|
||||
Ze/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au
|
||||
aW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu
|
||||
aW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wHQYDVR0RBBYwFIIScm9ja2V0LmFpcmRv
|
||||
Zy5zaXRlMEwGA1UdIARFMEMwCAYGZ4EMAQIBMDcGCysGAQQBgt8TAQEBMCgwJgYI
|
||||
KwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2VuY3J5cHQub3JnMIIBBAYKKwYBBAHW
|
||||
eQIEAgSB9QSB8gDwAHYAXqdz+d9WwOe1Nkh90EngMnqRmgyEoRIShBh1loFxRVgA
|
||||
AAFz5Chl+QAABAMARzBFAiAYFZP4Y/183lMKwxUtgFJu0YtbdqS2fdUribdO8R26
|
||||
bQIhAOHDC0srAux5dOukLSAP6AGW7Wy/vPvR172fdUXN/Zl6AHYAB7dcG+V9aP/x
|
||||
sMYdIxXHuuZXfFeUt2ruvGE6GmnTohwAAAFz5ChmQQAABAMARzBFAiAzq7Hj4UID
|
||||
7S84K0poxqoDBIPC26ZnOi2fupc7QW7sAAIhAJUynF87ZrUG5APWOWa36krUdSmG
|
||||
F/htyjJccgsktNJTMA0GCSqGSIb3DQEBCwUAA4IBAQBu0ygbfqkIQDZsHXCI3Y0U
|
||||
hEct6su4JIa88PhopbWk/eZNX9WkAvpBTW1L9gHm0tAWbUVpcLGJf33cdc8DS9XI
|
||||
VtpbJxZgqiWy2xA1RU6XTAPcGb0SpzTA+lAlhbGvmd4G9U01JfM1DzbxG7LpiTRl
|
||||
EzI/u+ugAWVEnwzQkxL00lWpU7T0+tR6iFLCsecPkJ4UmKHLlrk3xuc3bN0g6pk5
|
||||
BH4b7zZncqDK1xAXZBy9cQA+geIc1lOBIOt7OORLbFjAghJLOLNY0tMCl8XuO3rX
|
||||
rzZib7eKM2RqF6BetolKC7PLMbPBYdWYwMAF5Y1d7fXgTrOIDDW5AHDQB6UTOFrI
|
||||
-----END CERTIFICATE-----
|
||||
27
certs/rocket.airdog.site/chain.pem
Normal file
27
certs/rocket.airdog.site/chain.pem
Normal file
@ -0,0 +1,27 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/
|
||||
MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
|
||||
DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow
|
||||
SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT
|
||||
GkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC
|
||||
AQ8AMIIBCgKCAQEAnNMM8FrlLke3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF
|
||||
q6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8
|
||||
SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0
|
||||
Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA
|
||||
a6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj
|
||||
/PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIDAQABo4IBfTCCAXkwEgYDVR0T
|
||||
AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG
|
||||
CCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv
|
||||
bTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k
|
||||
c3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw
|
||||
VAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC
|
||||
ARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz
|
||||
MDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu
|
||||
Y3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF
|
||||
AAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo
|
||||
uM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/
|
||||
wApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu
|
||||
X4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG
|
||||
PfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6
|
||||
KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg==
|
||||
-----END CERTIFICATE-----
|
||||
63
certs/rocket.airdog.site/fullchain.pem
Normal file
63
certs/rocket.airdog.site/fullchain.pem
Normal file
@ -0,0 +1,63 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIGXDCCBUSgAwIBAgISA1Pe9S0PLsQYiho3SJXSfnTUMA0GCSqGSIb3DQEBCwUA
|
||||
MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD
|
||||
ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0yMDA4MTIxODMxNTlaFw0y
|
||||
MDExMTAxODMxNTlaMB0xGzAZBgNVBAMTEnJvY2tldC5haXJkb2cuc2l0ZTCCAiIw
|
||||
DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALD90mfIv3i2X18OGpag9Cy0ItG/
|
||||
Ld2RBGIR6uAP/pGwz0FlkbGxrxDTOXlUX3Vd2QxRXQcsjx0ow4CxhpLy7625thHw
|
||||
d77N9RNCwZdv3CcRifANbXrkfnwNPKDW1v8A84Gb+GKXgKTL9hygI1RKeao3dBrO
|
||||
ewMWZcpdPwlqYxWkEzGaQ/I1lNplFXFOlFsJFtEXu3pb83jCMQ+wpC26v8DtZdkn
|
||||
73zLDZ2+llGgMKfQKjjSagdMeqfNzshFSswf6YprjTYd5n1SeNh2xCsn5ZbAFETU
|
||||
ku0ZoN+h7jMqTG6Jr0r1Lr4oJ7DzV3vY0Ahzf+4OJ+uxEjg/WwveoWdSBJM84G2/
|
||||
cxP/f/F98SYmF0uuq+aeaAjAcBqUwe2l6sVDKPXOsLiIWLnWixM9jBb/2ezPsFW0
|
||||
s9lbf041A4ovvWjd9loKNIzel3YBKYKN6sa4CEpW/BJoB4X3b2ykQ80qNVhTtV9u
|
||||
CHdYc19l7SOJv/K9F+g1b45Eqshhb3aaIdOHWrxZfljDP4eGvdQm571trEwqA9SK
|
||||
eYhOnOrTwPob5FvRDKz6RlNSl8j+T2+3PDFCGWA1pt54rS0TKtcL0iVW+5AXr8Ez
|
||||
MiU4wZXF3ylffkAT6KrY6KW37jlez6WRaWNMA4VoYLLMo1vV8wBG9sfuvwlznmqO
|
||||
CJkXT10FfWqnM6UBAgMBAAGjggJnMIICYzAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l
|
||||
BBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE
|
||||
FPv3jhS82016ba1ZVaOCISguBTXwMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZF
|
||||
Ze/zqOyhMG8GCCsGAQUFBwEBBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3Au
|
||||
aW50LXgzLmxldHNlbmNyeXB0Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQu
|
||||
aW50LXgzLmxldHNlbmNyeXB0Lm9yZy8wHQYDVR0RBBYwFIIScm9ja2V0LmFpcmRv
|
||||
Zy5zaXRlMEwGA1UdIARFMEMwCAYGZ4EMAQIBMDcGCysGAQQBgt8TAQEBMCgwJgYI
|
||||
KwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2VuY3J5cHQub3JnMIIBBAYKKwYBBAHW
|
||||
eQIEAgSB9QSB8gDwAHYAXqdz+d9WwOe1Nkh90EngMnqRmgyEoRIShBh1loFxRVgA
|
||||
AAFz5Chl+QAABAMARzBFAiAYFZP4Y/183lMKwxUtgFJu0YtbdqS2fdUribdO8R26
|
||||
bQIhAOHDC0srAux5dOukLSAP6AGW7Wy/vPvR172fdUXN/Zl6AHYAB7dcG+V9aP/x
|
||||
sMYdIxXHuuZXfFeUt2ruvGE6GmnTohwAAAFz5ChmQQAABAMARzBFAiAzq7Hj4UID
|
||||
7S84K0poxqoDBIPC26ZnOi2fupc7QW7sAAIhAJUynF87ZrUG5APWOWa36krUdSmG
|
||||
F/htyjJccgsktNJTMA0GCSqGSIb3DQEBCwUAA4IBAQBu0ygbfqkIQDZsHXCI3Y0U
|
||||
hEct6su4JIa88PhopbWk/eZNX9WkAvpBTW1L9gHm0tAWbUVpcLGJf33cdc8DS9XI
|
||||
VtpbJxZgqiWy2xA1RU6XTAPcGb0SpzTA+lAlhbGvmd4G9U01JfM1DzbxG7LpiTRl
|
||||
EzI/u+ugAWVEnwzQkxL00lWpU7T0+tR6iFLCsecPkJ4UmKHLlrk3xuc3bN0g6pk5
|
||||
BH4b7zZncqDK1xAXZBy9cQA+geIc1lOBIOt7OORLbFjAghJLOLNY0tMCl8XuO3rX
|
||||
rzZib7eKM2RqF6BetolKC7PLMbPBYdWYwMAF5Y1d7fXgTrOIDDW5AHDQB6UTOFrI
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/
|
||||
MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
|
||||
DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow
|
||||
SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT
|
||||
GkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC
|
||||
AQ8AMIIBCgKCAQEAnNMM8FrlLke3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF
|
||||
q6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8
|
||||
SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0
|
||||
Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA
|
||||
a6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj
|
||||
/PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIDAQABo4IBfTCCAXkwEgYDVR0T
|
||||
AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG
|
||||
CCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv
|
||||
bTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k
|
||||
c3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw
|
||||
VAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC
|
||||
ARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz
|
||||
MDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu
|
||||
Y3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF
|
||||
AAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo
|
||||
uM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/
|
||||
wApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu
|
||||
X4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG
|
||||
PfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6
|
||||
KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg==
|
||||
-----END CERTIFICATE-----
|
||||
52
certs/rocket.airdog.site/key.pem
Normal file
52
certs/rocket.airdog.site/key.pem
Normal file
@ -0,0 +1,52 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
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
|
||||
/ntMZ0aPK0jmYWvYzyoMOO5XCaApElk=
|
||||
-----END PRIVATE KEY-----
|
||||
1
certs/wallabag.airdog.site.chain.pem
Symbolic link
1
certs/wallabag.airdog.site.chain.pem
Symbolic link
@ -0,0 +1 @@
|
||||
./wallabag.airdog.site/chain.pem
|
||||
1
certs/wallabag.airdog.site.crt
Symbolic link
1
certs/wallabag.airdog.site.crt
Symbolic link
@ -0,0 +1 @@
|
||||
./wallabag.airdog.site/fullchain.pem
|
||||
1
certs/wallabag.airdog.site.dhparam.pem
Symbolic link
1
certs/wallabag.airdog.site.dhparam.pem
Symbolic link
@ -0,0 +1 @@
|
||||
./dhparam.pem
|
||||
1
certs/wallabag.airdog.site.key
Symbolic link
1
certs/wallabag.airdog.site.key
Symbolic link
@ -0,0 +1 @@
|
||||
./wallabag.airdog.site/key.pem
|
||||
0
certs/wallabag.airdog.site/.companion
Normal file
0
certs/wallabag.airdog.site/.companion
Normal file
1
certs/wallabag.airdog.site/account_key.json
Symbolic link
1
certs/wallabag.airdog.site/account_key.json
Symbolic link
@ -0,0 +1 @@
|
||||
../accounts/acme-v02.api.letsencrypt.org/directory/default_key.json
|
||||
1
certs/wallabag.airdog.site/account_reg.json
Symbolic link
1
certs/wallabag.airdog.site/account_reg.json
Symbolic link
@ -0,0 +1 @@
|
||||
../accounts/acme-v02.api.letsencrypt.org/directory/default_reg.json
|
||||
37
certs/wallabag.airdog.site/cert.pem
Normal file
37
certs/wallabag.airdog.site/cert.pem
Normal file
@ -0,0 +1,37 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
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
|
||||
NtfJeA==
|
||||
-----END CERTIFICATE-----
|
||||
27
certs/wallabag.airdog.site/chain.pem
Normal file
27
certs/wallabag.airdog.site/chain.pem
Normal file
@ -0,0 +1,27 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/
|
||||
MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
|
||||
DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow
|
||||
SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT
|
||||
GkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC
|
||||
AQ8AMIIBCgKCAQEAnNMM8FrlLke3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF
|
||||
q6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8
|
||||
SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0
|
||||
Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA
|
||||
a6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj
|
||||
/PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIDAQABo4IBfTCCAXkwEgYDVR0T
|
||||
AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG
|
||||
CCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv
|
||||
bTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k
|
||||
c3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw
|
||||
VAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC
|
||||
ARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz
|
||||
MDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu
|
||||
Y3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF
|
||||
AAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo
|
||||
uM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/
|
||||
wApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu
|
||||
X4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG
|
||||
PfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6
|
||||
KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg==
|
||||
-----END CERTIFICATE-----
|
||||
64
certs/wallabag.airdog.site/fullchain.pem
Normal file
64
certs/wallabag.airdog.site/fullchain.pem
Normal file
@ -0,0 +1,64 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
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
|
||||
NtfJeA==
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/
|
||||
MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
|
||||
DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow
|
||||
SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT
|
||||
GkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC
|
||||
AQ8AMIIBCgKCAQEAnNMM8FrlLke3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF
|
||||
q6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8
|
||||
SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0
|
||||
Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA
|
||||
a6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj
|
||||
/PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIDAQABo4IBfTCCAXkwEgYDVR0T
|
||||
AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG
|
||||
CCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv
|
||||
bTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k
|
||||
c3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw
|
||||
VAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC
|
||||
ARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz
|
||||
MDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu
|
||||
Y3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF
|
||||
AAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo
|
||||
uM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/
|
||||
wApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu
|
||||
X4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG
|
||||
PfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6
|
||||
KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg==
|
||||
-----END CERTIFICATE-----
|
||||
52
certs/wallabag.airdog.site/key.pem
Normal file
52
certs/wallabag.airdog.site/key.pem
Normal file
@ -0,0 +1,52 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
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
|
||||
SwzptZ0dSJAnW/VmFrJuBe2QZxbf/lE=
|
||||
-----END PRIVATE KEY-----
|
||||
3
db.env
Normal file
3
db.env
Normal file
@ -0,0 +1,3 @@
|
||||
MYSQL_PASSWORD=chengli47
|
||||
MYSQL_DATABASE=nextcloud
|
||||
MYSQL_USER=nextcloud
|
||||
87
docker-compose.yml
Normal file
87
docker-compose.yml
Normal file
@ -0,0 +1,87 @@
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
db:
|
||||
image: mariadb
|
||||
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
|
||||
restart: always
|
||||
volumes:
|
||||
- ./db:/var/lib/mysql
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=chengli47
|
||||
env_file:
|
||||
- db.env
|
||||
|
||||
redis:
|
||||
image: redis:alpine
|
||||
restart: always
|
||||
|
||||
app:
|
||||
image: nextcloud:apache
|
||||
restart: always
|
||||
volumes:
|
||||
- ./nextcloud:/var/www/html
|
||||
environment:
|
||||
- VIRTUAL_HOST=next.airdog.site
|
||||
- LETSENCRYPT_HOST=next.airdog.site
|
||||
- LETSENCRYPT_EMAIL=ouch@thetrauma.org
|
||||
- MYSQL_HOST=db
|
||||
- REDIS_HOST=redis
|
||||
env_file:
|
||||
- db.env
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
networks:
|
||||
- proxy-tier
|
||||
- default
|
||||
|
||||
cron:
|
||||
image: nextcloud:apache
|
||||
restart: always
|
||||
volumes:
|
||||
- ./nextcloud:/var/www/html
|
||||
entrypoint: /cron.sh
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
|
||||
proxy:
|
||||
build: ./proxy
|
||||
restart: always
|
||||
ports:
|
||||
- 80:80
|
||||
- 443:443
|
||||
labels:
|
||||
com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: "true"
|
||||
volumes:
|
||||
- ./certs:/etc/nginx/certs:ro
|
||||
- ./vhost.d:/etc/nginx/vhost.d
|
||||
- ./html:/usr/share/nginx/html
|
||||
- /var/run/docker.sock:/tmp/docker.sock:ro
|
||||
networks:
|
||||
- proxy-tier
|
||||
|
||||
letsencrypt-companion:
|
||||
image: jrcs/letsencrypt-nginx-proxy-companion
|
||||
restart: always
|
||||
volumes:
|
||||
- ./certs:/etc/nginx/certs
|
||||
- ./vhost.d:/etc/nginx/vhost.d
|
||||
- ./html:/usr/share/nginx/html
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
networks:
|
||||
- proxy-tier
|
||||
depends_on:
|
||||
- proxy
|
||||
|
||||
#volumes:
|
||||
# db:
|
||||
# nextcloud:
|
||||
# certs:
|
||||
# vhost.d:
|
||||
# html:
|
||||
|
||||
networks:
|
||||
proxy-tier:
|
||||
|
||||
87
docker-compose.yml.good
Normal file
87
docker-compose.yml.good
Normal file
@ -0,0 +1,87 @@
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
db:
|
||||
image: mariadb
|
||||
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
|
||||
restart: always
|
||||
volumes:
|
||||
- db:/var/lib/mysql
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=chengli47
|
||||
env_file:
|
||||
- db.env
|
||||
|
||||
redis:
|
||||
image: redis:alpine
|
||||
restart: always
|
||||
|
||||
app:
|
||||
image: nextcloud:apache
|
||||
restart: always
|
||||
volumes:
|
||||
- nextcloud:/var/www/html
|
||||
environment:
|
||||
- VIRTUAL_HOST=next.airdog.site
|
||||
- LETSENCRYPT_HOST=next.airdog.site
|
||||
- LETSENCRYPT_EMAIL=ouch@thetrauma.org
|
||||
- MYSQL_HOST=db
|
||||
- REDIS_HOST=redis
|
||||
env_file:
|
||||
- db.env
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
networks:
|
||||
- proxy-tier
|
||||
- default
|
||||
|
||||
cron:
|
||||
image: nextcloud:apache
|
||||
restart: always
|
||||
volumes:
|
||||
- nextcloud:/var/www/html
|
||||
entrypoint: /cron.sh
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
|
||||
proxy:
|
||||
build: ./proxy
|
||||
restart: always
|
||||
ports:
|
||||
- 80:80
|
||||
- 443:443
|
||||
labels:
|
||||
com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: "true"
|
||||
volumes:
|
||||
- certs:/etc/nginx/certs:ro
|
||||
- vhost.d:/etc/nginx/vhost.d
|
||||
- html:/usr/share/nginx/html
|
||||
- /var/run/docker.sock:/tmp/docker.sock:ro
|
||||
networks:
|
||||
- proxy-tier
|
||||
|
||||
letsencrypt-companion:
|
||||
image: jrcs/letsencrypt-nginx-proxy-companion
|
||||
restart: always
|
||||
volumes:
|
||||
- certs:/etc/nginx/certs
|
||||
- vhost.d:/etc/nginx/vhost.d
|
||||
- html:/usr/share/nginx/html
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
networks:
|
||||
- proxy-tier
|
||||
depends_on:
|
||||
- proxy
|
||||
|
||||
volumes:
|
||||
db:
|
||||
nextcloud:
|
||||
certs:
|
||||
vhost.d:
|
||||
html:
|
||||
|
||||
networks:
|
||||
proxy-tier:
|
||||
|
||||
119
nextcloud/.htaccess
Normal file
119
nextcloud/.htaccess
Normal file
@ -0,0 +1,119 @@
|
||||
<IfModule mod_headers.c>
|
||||
<IfModule mod_setenvif.c>
|
||||
<IfModule mod_fcgid.c>
|
||||
SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
|
||||
RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
|
||||
</IfModule>
|
||||
<IfModule mod_proxy_fcgi.c>
|
||||
SetEnvIfNoCase Authorization "(.+)" HTTP_AUTHORIZATION=$1
|
||||
</IfModule>
|
||||
</IfModule>
|
||||
|
||||
<IfModule mod_env.c>
|
||||
# Add security and privacy related headers
|
||||
|
||||
# Avoid doubled headers by unsetting headers in "onsuccess" table,
|
||||
# then add headers to "always" table: https://github.com/nextcloud/server/pull/19002
|
||||
Header onsuccess unset Referrer-Policy
|
||||
Header always set Referrer-Policy "no-referrer"
|
||||
|
||||
Header onsuccess unset X-Content-Type-Options
|
||||
Header always set X-Content-Type-Options "nosniff"
|
||||
|
||||
Header onsuccess unset X-Download-Options
|
||||
Header always set X-Download-Options "noopen"
|
||||
|
||||
Header onsuccess unset X-Frame-Options
|
||||
Header always set X-Frame-Options "SAMEORIGIN"
|
||||
|
||||
Header onsuccess unset X-Permitted-Cross-Domain-Policies
|
||||
Header always set X-Permitted-Cross-Domain-Policies "none"
|
||||
|
||||
Header onsuccess unset X-Robots-Tag
|
||||
Header always set X-Robots-Tag "none"
|
||||
|
||||
Header onsuccess unset X-XSS-Protection
|
||||
Header always set X-XSS-Protection "1; mode=block"
|
||||
|
||||
SetEnv modHeadersAvailable true
|
||||
</IfModule>
|
||||
|
||||
# Add cache control for static resources
|
||||
<FilesMatch "\.(css|js|svg|gif)$">
|
||||
Header set Cache-Control "max-age=15778463"
|
||||
</FilesMatch>
|
||||
|
||||
# Let browsers cache WOFF files for a week
|
||||
<FilesMatch "\.woff2?$">
|
||||
Header set Cache-Control "max-age=604800"
|
||||
</FilesMatch>
|
||||
</IfModule>
|
||||
<IfModule mod_php7.c>
|
||||
php_value mbstring.func_overload 0
|
||||
php_value default_charset 'UTF-8'
|
||||
php_value output_buffering 0
|
||||
<IfModule mod_env.c>
|
||||
SetEnv htaccessWorking true
|
||||
</IfModule>
|
||||
</IfModule>
|
||||
<IfModule mod_rewrite.c>
|
||||
RewriteEngine on
|
||||
RewriteCond %{HTTP_USER_AGENT} DavClnt
|
||||
RewriteRule ^$ /remote.php/webdav/ [L,R=302]
|
||||
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
|
||||
RewriteRule ^\.well-known/host-meta /public.php?service=host-meta [QSA,L]
|
||||
RewriteRule ^\.well-known/host-meta\.json /public.php?service=host-meta-json [QSA,L]
|
||||
RewriteRule ^\.well-known/webfinger /public.php?service=webfinger [QSA,L]
|
||||
RewriteRule ^\.well-known/nodeinfo /public.php?service=nodeinfo [QSA,L]
|
||||
RewriteRule ^\.well-known/carddav /remote.php/dav/ [R=301,L]
|
||||
RewriteRule ^\.well-known/caldav /remote.php/dav/ [R=301,L]
|
||||
RewriteRule ^remote/(.*) remote.php [QSA,L]
|
||||
RewriteRule ^(?:build|tests|config|lib|3rdparty|templates)/.* - [R=404,L]
|
||||
RewriteCond %{REQUEST_URI} !^/\.well-known/(acme-challenge|pki-validation)/.*
|
||||
RewriteRule ^(?:\.|autotest|occ|issue|indie|db_|console).* - [R=404,L]
|
||||
</IfModule>
|
||||
<IfModule mod_mime.c>
|
||||
AddType image/svg+xml svg svgz
|
||||
AddEncoding gzip svgz
|
||||
</IfModule>
|
||||
<IfModule mod_dir.c>
|
||||
DirectoryIndex index.php index.html
|
||||
</IfModule>
|
||||
AddDefaultCharset utf-8
|
||||
Options -Indexes
|
||||
<IfModule pagespeed_module>
|
||||
ModPagespeed Off
|
||||
</IfModule>
|
||||
#### DO NOT CHANGE ANYTHING ABOVE THIS LINE ####
|
||||
|
||||
ErrorDocument 403 //
|
||||
ErrorDocument 404 //
|
||||
<IfModule mod_rewrite.c>
|
||||
Options -MultiViews
|
||||
RewriteRule ^core/js/oc.js$ index.php [PT,E=PATH_INFO:$1]
|
||||
RewriteRule ^core/preview.png$ index.php [PT,E=PATH_INFO:$1]
|
||||
RewriteCond %{REQUEST_FILENAME} !\.(css|js|svg|gif|png|html|ttf|woff2?|ico|jpg|jpeg|map|webm|mp4)$
|
||||
RewriteCond %{REQUEST_FILENAME} !core/img/favicon.ico$
|
||||
RewriteCond %{REQUEST_FILENAME} !core/img/manifest.json$
|
||||
RewriteCond %{REQUEST_FILENAME} !/remote.php
|
||||
RewriteCond %{REQUEST_FILENAME} !/public.php
|
||||
RewriteCond %{REQUEST_FILENAME} !/cron.php
|
||||
RewriteCond %{REQUEST_FILENAME} !/core/ajax/update.php
|
||||
RewriteCond %{REQUEST_FILENAME} !/status.php
|
||||
RewriteCond %{REQUEST_FILENAME} !/ocs/v1.php
|
||||
RewriteCond %{REQUEST_FILENAME} !/ocs/v2.php
|
||||
RewriteCond %{REQUEST_FILENAME} !/robots.txt
|
||||
RewriteCond %{REQUEST_FILENAME} !/updater/
|
||||
RewriteCond %{REQUEST_FILENAME} !/ocs-provider/
|
||||
RewriteCond %{REQUEST_FILENAME} !/ocm-provider/
|
||||
RewriteCond %{REQUEST_URI} !^/\.well-known/(acme-challenge|pki-validation)/.*
|
||||
RewriteCond %{REQUEST_FILENAME} !/richdocumentscode/proxy.php$
|
||||
RewriteRule . index.php [PT,E=PATH_INFO:$1]
|
||||
RewriteBase /
|
||||
<IfModule mod_env.c>
|
||||
SetEnv front_controller_active true
|
||||
<IfModule mod_dir.c>
|
||||
DirectorySlash off
|
||||
</IfModule>
|
||||
</IfModule>
|
||||
</IfModule>
|
||||
4
nextcloud/.user.ini
Normal file
4
nextcloud/.user.ini
Normal file
@ -0,0 +1,4 @@
|
||||
mbstring.func_overload=0
|
||||
always_populate_raw_post_data=-1
|
||||
default_charset='UTF-8'
|
||||
output_buffering=0
|
||||
29
nextcloud/3rdparty/.github/workflows/composer.yml
vendored
Normal file
29
nextcloud/3rdparty/.github/workflows/composer.yml
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
name: Composer
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- stable*
|
||||
|
||||
jobs:
|
||||
php:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
name: Check vendor changes
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@master
|
||||
- name: Set up php
|
||||
uses: shivammathur/setup-php@master
|
||||
with:
|
||||
php-version: 7.4
|
||||
coverage: none
|
||||
- name: Update composer
|
||||
run: sudo composer self-update && composer --version
|
||||
- name: Vendor dependencies
|
||||
run: composer run vendor
|
||||
- name: Check vendor changes
|
||||
run: |
|
||||
bash -c "[[ ! \"`git status --porcelain `\" ]] || ( echo 'Uncommited vendor changes' && git status && git diff && exit 1 )"
|
||||
262
nextcloud/3rdparty/.gitignore
vendored
Normal file
262
nextcloud/3rdparty/.gitignore
vendored
Normal file
@ -0,0 +1,262 @@
|
||||
.DS_Store
|
||||
bin
|
||||
*/**/phpstan.neon
|
||||
.php_cs.dist
|
||||
# ignore demo files
|
||||
james-heinrich/getid3/demos
|
||||
james-heinrich/getid3/helperapps
|
||||
|
||||
aws/aws-sdk-php/.changes
|
||||
|
||||
doctrine/annotations/tests
|
||||
doctrine/annotations/.travis.yml
|
||||
doctrine/cache/tests
|
||||
doctrine/cache/.travis.yml
|
||||
doctrine/cache/composer.json
|
||||
doctrine/collections/tests
|
||||
doctrine/collections/.travis.yml
|
||||
doctrine/collections/README.md
|
||||
doctrine/collections/composer.json
|
||||
doctrine/common/tests
|
||||
doctrine/common/.travis.yml
|
||||
doctrine/common/composer.json
|
||||
doctrine/dbal/tests
|
||||
doctrine/dbal/docs
|
||||
doctrine/dbal/run-all.sh
|
||||
doctrine/dbal/.travis.yml
|
||||
doctrine/dbal/.gitignore
|
||||
doctrine/dbal/.gitattributes
|
||||
doctrine/dbal/.gitmodules
|
||||
doctrine/dbal/build.*
|
||||
doctrine/dbal/phpunit.xml.dist
|
||||
doctrine/inflector/tests
|
||||
doctrine/lexer/composer.json
|
||||
doctrine/lexer/LICENSE
|
||||
|
||||
pear/archive_tar/.travis.sh
|
||||
pear/archive_tar/.travis.yml
|
||||
pear/archive_tar/tests/
|
||||
pear/archive_tar/docs/
|
||||
pear/archive_tar/scripts/
|
||||
pear/archive_tar/sync-php4
|
||||
|
||||
pear/console_getopt/tests/
|
||||
|
||||
pear/pear_exception/tests/
|
||||
|
||||
phpseclib/phpseclib/.git*
|
||||
phpseclib/phpseclib/*.yml
|
||||
phpseclib/phpseclib/phpunit.xml.dist
|
||||
phpseclib/phpseclib/build/
|
||||
phpseclib/phpseclib/tests/
|
||||
phpseclib/phpseclib/travis/
|
||||
phpseclib/phpseclib/CHANGELOG.md
|
||||
phpseclib/phpseclib/README.md
|
||||
phpseclib/phpseclib/composer.json
|
||||
phpseclib/phpseclib/composer.lock
|
||||
phpseclib/phpseclib/phpunit.xml.dist
|
||||
|
||||
php-http/guzzle6-adapter/CHANGELOG.md
|
||||
php-http/guzzle6-adapter/README.md
|
||||
|
||||
php-http/httplug/CHANGELOG.md
|
||||
php-http/httplug/README.md
|
||||
|
||||
php-http/promise/CHANGELOG.md
|
||||
php-http/promise/README.md
|
||||
|
||||
psr/http-client/CHANGELOG.md
|
||||
psr/http-client/README.md
|
||||
|
||||
php-opencloud/openstack/doc
|
||||
php-opencloud/openstack/tests
|
||||
php-opencloud/openstack/samples
|
||||
|
||||
symfony/debug/Tests
|
||||
|
||||
symfony/console/Symfony/Component/Console/Tests
|
||||
symfony/console/Symfony/Component/Console/.gitignore
|
||||
symfony/console/Symfony/Component/Console/composer.json
|
||||
symfony/console/Tests
|
||||
|
||||
symfony/routing/Tests/
|
||||
symfony/routing/phpunit.xml.dist
|
||||
symfony/routing/.gitignore
|
||||
|
||||
symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/
|
||||
|
||||
symfony/event-dispatcher/Symfony/EventDispatcher/Debug/Routing/Tests/
|
||||
symfony/event-dispatcher/Symfony/EventDispatcher/Debug/phpunit.xml.dist
|
||||
symfony/event-dispatcher/Symfony/EventDispatcher/Debug/.gitignore
|
||||
symfony/event-dispatcher/Tests
|
||||
|
||||
symfony/finder/Tests
|
||||
|
||||
symfony/process/Symfony/Component/Process/Routing/Tests/
|
||||
symfony/process/Symfony/Component/Process/phpunit.xml.dist
|
||||
symfony/process/Symfony/Component/Process/Tests
|
||||
symfony/process/Symfony/Component/Process/.gitignore
|
||||
symfony/process/Tests
|
||||
|
||||
pimple/pimple/ext
|
||||
pimple/pimple/.gitignore
|
||||
pimple/pimple/.travis.yml
|
||||
pimple/pimple/CHANGELOG
|
||||
pimple/pimple/composer.json
|
||||
pimple/pimple/LICENSE
|
||||
pimple/pimple/phpunit.xml.dist
|
||||
pimple/pimple/README.rst
|
||||
pimple/pimple/src/Pimple/Tests
|
||||
|
||||
|
||||
ircmaxell/password-compat/.travis.yml
|
||||
ircmaxell/password-compat/README.md
|
||||
ircmaxell/password-compat/phpunit.xml.dist
|
||||
ircmaxell/password-compat/test/
|
||||
ircmaxell/password-compat/version-test.php
|
||||
|
||||
ircmaxell/random-lib/test/
|
||||
ircmaxell/random-lib/.gitignore
|
||||
ircmaxell/random-lib/.travis.yml
|
||||
ircmaxell/random-lib/LICENSE
|
||||
ircmaxell/random-lib/README.md
|
||||
ircmaxell/random-lib/composer.json
|
||||
ircmaxell/random-lib/composer.lock
|
||||
ircmaxell/random-lib/phpunit.xml.dist
|
||||
|
||||
icewind/streams/tests
|
||||
icewind/streams/README.md
|
||||
icewind/streams/LICENCE
|
||||
icewind/streams/composer.json
|
||||
icewind/searchdav/.github/
|
||||
icewind/searchdav/.scrutinizer.yml
|
||||
icewind/searchdav/tests
|
||||
icewind/searchdav/README.md
|
||||
icewind/searchdav/composer.json
|
||||
|
||||
justinrainbow/json-schema/demo
|
||||
|
||||
swiftmailer/swiftmailer/.travis.yml
|
||||
swiftmailer/swiftmailer/phpunit.xml.dist
|
||||
swiftmailer/swiftmailer/doc/
|
||||
swiftmailer/swiftmailer/notes/
|
||||
swiftmailer/swiftmailer/tests/
|
||||
swiftmailer/swiftmailer/.gitattributes
|
||||
swiftmailer/swiftmailer/.gitignore
|
||||
swiftmailer/swiftmailer/CHANGES
|
||||
swiftmailer/swiftmailer/README
|
||||
swiftmailer/swiftmailer/VERSION
|
||||
swiftmailer/swiftmailer/LICENSE
|
||||
swiftmailer/swiftmailer/composer.json
|
||||
|
||||
**/.travis.yml
|
||||
|
||||
guzzlehttp/guzzle/build/
|
||||
guzzlehttp/guzzle/docs/
|
||||
guzzlehttp/guzzle/tests/
|
||||
guzzlehttp/guzzle/.gitignore
|
||||
guzzlehttp/guzzle/CHANGELOG.md
|
||||
guzzlehttp/guzzle/composer.json
|
||||
guzzlehttp/guzzle/MAKEFILE
|
||||
guzzlehttp/guzzle/phpunit.xml.dist
|
||||
guzzlehttp/guzzle/README.md
|
||||
guzzlehttp/guzzle/UPGRADING.md
|
||||
guzzlehttp/ringphp/docs/
|
||||
guzzlehttp/ringphp/tests/
|
||||
guzzlehttp/ringphp/.gitignore
|
||||
guzzlehttp/ringphp/CHANGELOG.md
|
||||
guzzlehttp/ringphp/Makefile
|
||||
guzzlehttp/ringphp/README.rst
|
||||
guzzlehttp/ringphp/composer.json
|
||||
guzzlehttp/ringphp/phpunit.xml.dist
|
||||
guzzlehttp/streams/tests/
|
||||
guzzlehttp/streams/.gitignore
|
||||
guzzlehttp/streams/.travis.yml
|
||||
guzzlehttp/streams/CHANGELOG.rst
|
||||
guzzlehttp/streams/Makefile
|
||||
guzzlehttp/streams/README.rst
|
||||
guzzlehttp/streams/composer.json
|
||||
guzzlehttp/streams/phpunit.xml.dist
|
||||
|
||||
react/promise/tests/
|
||||
react/promise/.gitignore
|
||||
react/promise/CHANGELOG.md
|
||||
react/promise/composer.json
|
||||
react/promise/phpunit.xml.dist
|
||||
react/promise/README.md
|
||||
|
||||
nikic/php-parser/bin/
|
||||
nikic/php-parser/doc/
|
||||
nikic/php-parser/test/
|
||||
nikic/php-parser/test_old/
|
||||
nikic/php-parser/grammar/analyze.php
|
||||
nikic/php-parser/grammar/rebuildParser.php
|
||||
nikic/php-parser/.gitignore
|
||||
nikic/php-parser/CHANGELOG.md
|
||||
nikic/php-parser/README.md
|
||||
nikic/php-parser/UPGRADE-1.0.md
|
||||
nikic/php-parser/UPGRADE-2.0.md
|
||||
nikic/php-parser/UPGRADE-3.0.md
|
||||
nikic/php-parser/UPGRADE-4.0.md
|
||||
nikic/php-parser/composer.json
|
||||
nikic/php-parser/grammar/parser.template
|
||||
nikic/php-parser/grammar/php5.y
|
||||
nikic/php-parser/grammar/php7.y
|
||||
nikic/php-parser/grammar/rebuildParsers.php
|
||||
nikic/php-parser/grammar/tokens.template
|
||||
nikic/php-parser/grammar/tokens.y
|
||||
nikic/php-parser/phpunit.xml.dist
|
||||
|
||||
|
||||
interfasys/lognormalizer/.gitignore
|
||||
interfasys/lognormalizer/.travis.yml
|
||||
interfasys/lognormalizer/.scrutinizer.yml
|
||||
interfasys/lognormalizer/CHANGELOG.md
|
||||
interfasys/lognormalizer/README.md
|
||||
interfasys/lognormalizer/composer.json
|
||||
interfasys/lognormalizer/phpunit.xml
|
||||
interfasys/lognormalizer/tests
|
||||
|
||||
deepdiver1975/tarstreamer/.gitignore
|
||||
deepdiver1975/tarstreamer/.travis.yml
|
||||
deepdiver1975/tarstreamer/.scrutinizer.yml
|
||||
deepdiver1975/tarstreamer/composer.json
|
||||
deepdiver1975/tarstreamer/tests
|
||||
|
||||
patchwork/jsqueeze/tests
|
||||
patchwork/jsqueeze/phpunit.xml.dist
|
||||
|
||||
sabre/dav/examples
|
||||
sabre/dav/tests
|
||||
sabre/event/tests
|
||||
sabre/http/examples
|
||||
sabre/http/tests
|
||||
sabre/uri/.gitattributes
|
||||
sabre/uri/tests
|
||||
sabre/vobject/CHANGELOG.md
|
||||
sabre/vobject/tests
|
||||
sabre/xml/tests
|
||||
|
||||
stecman/symfony-console-completion/tests
|
||||
stecman/symfony-console-completion/.gitignore
|
||||
stecman/symfony-console-completion/.travis.yml
|
||||
stecman/symfony-console-completion/composer.json
|
||||
stecman/symfony-console-completion/phpunit.xml.dist
|
||||
stecman/symfony-console-completion/README.md
|
||||
|
||||
deepdiver/zipstreamer/tests
|
||||
|
||||
ircmaxell/security-lib/tests
|
||||
|
||||
bantu/ini-get-wrapper/tests
|
||||
|
||||
rackspace/php-opencloud/tests
|
||||
rackspace/php-opencloud/doc
|
||||
rackspace/php-opencloud/docs
|
||||
rackspace/php-opencloud/samples
|
||||
|
||||
mtdowling/jmespath.php/tests
|
||||
|
||||
scssphp/scssphp/example
|
||||
|
||||
mikey179/vfsstream
|
||||
26
nextcloud/3rdparty/LICENSE INFO
vendored
Normal file
26
nextcloud/3rdparty/LICENSE INFO
vendored
Normal file
@ -0,0 +1,26 @@
|
||||
Licenses:
|
||||
Archive - New BSD License
|
||||
aws-sdk - apache 2.0
|
||||
class.phpmailer.php - LGPL
|
||||
class.smtp.php - LGPL
|
||||
Console - PHP License 3.0
|
||||
Crypt_Blowfish - PHP License 3.0
|
||||
chosen - MIT License
|
||||
css - see chosen
|
||||
DropBox - MIT
|
||||
fullcalendar - GPL / MIT
|
||||
getid3 - GPL
|
||||
Google - MIT
|
||||
js - see chosen
|
||||
MDB2 - BSD
|
||||
mediawiki - Apache 2.0
|
||||
miniColors - GPL / MIT
|
||||
openid - GPLv3
|
||||
OS - New BSD License
|
||||
PEAR - Simplified BSD License
|
||||
phpass - Public domain
|
||||
Sabre - New BSD License
|
||||
smb4php - GPL
|
||||
System.php - New BSD License
|
||||
timepicker - GPL / MIT
|
||||
XML - New BSD License
|
||||
16
nextcloud/3rdparty/README.md
vendored
Normal file
16
nextcloud/3rdparty/README.md
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
3rdparty
|
||||
========
|
||||
|
||||
Some 3rd party libraries that are necessary to run Nextcloud.
|
||||
|
||||
[](https://www.versioneye.com/user/projects/576c043fcd6d510048bab256)
|
||||
|
||||
## Updating composer dependencies
|
||||
|
||||
To check in all required changes for a new, updated or deleted dependency, you just run
|
||||
|
||||
```bash
|
||||
composer run vendor
|
||||
```
|
||||
|
||||
to update the files. Then you can commit all changes.
|
||||
7
nextcloud/3rdparty/autoload.php
vendored
Normal file
7
nextcloud/3rdparty/autoload.php
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
<?php
|
||||
|
||||
// autoload.php @generated by Composer
|
||||
|
||||
require_once __DIR__ . '/composer/autoload_real.php';
|
||||
|
||||
return ComposerAutoloaderInit2f23f73bc0cc116b4b1eee1521aa8652::getLoader();
|
||||
141
nextcloud/3rdparty/aws/aws-sdk-php/LICENSE.md
vendored
Normal file
141
nextcloud/3rdparty/aws/aws-sdk-php/LICENSE.md
vendored
Normal file
@ -0,0 +1,141 @@
|
||||
# Apache License
|
||||
Version 2.0, January 2004
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
## 1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1
|
||||
through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the
|
||||
License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled
|
||||
by, or are under common control with that entity. For the purposes of this definition, "control" means
|
||||
(i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract
|
||||
or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial
|
||||
ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications, including but not limited to software
|
||||
source code, documentation source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form,
|
||||
including but not limited to compiled object code, generated documentation, and conversions to other media
|
||||
types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License,
|
||||
as indicated by a copyright notice that is included in or attached to the work (an example is provided in the
|
||||
Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from)
|
||||
the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent,
|
||||
as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not
|
||||
include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work
|
||||
and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including the original version of the Work and any
|
||||
modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to
|
||||
Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to
|
||||
submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of
|
||||
electronic, verbal, or written communication sent to the Licensor or its representatives, including but not
|
||||
limited to communication on electronic mailing lists, source code control systems, and issue tracking systems
|
||||
that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise designated in writing by the copyright
|
||||
owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been
|
||||
received by Licensor and subsequently incorporated within the Work.
|
||||
|
||||
## 2. Grant of Copyright License.
|
||||
|
||||
Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare
|
||||
Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such
|
||||
Derivative Works in Source or Object form.
|
||||
|
||||
## 3. Grant of Patent License.
|
||||
|
||||
Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent
|
||||
license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such
|
||||
license applies only to those patent claims licensable by such Contributor that are necessarily infringed by
|
||||
their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such
|
||||
Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim
|
||||
or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work
|
||||
constitutes direct or contributory patent infringement, then any patent licenses granted to You under this
|
||||
License for that Work shall terminate as of the date such litigation is filed.
|
||||
|
||||
## 4. Redistribution.
|
||||
|
||||
You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You meet the following conditions:
|
||||
|
||||
1. You must give any other recipients of the Work or Derivative Works a copy of this License; and
|
||||
|
||||
2. You must cause any modified files to carry prominent notices stating that You changed the files; and
|
||||
|
||||
3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent,
|
||||
trademark, and attribution notices from the Source form of the Work, excluding those notices that do
|
||||
not pertain to any part of the Derivative Works; and
|
||||
|
||||
4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that
|
||||
You distribute must include a readable copy of the attribution notices contained within such NOTICE
|
||||
file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed as part of the Derivative Works; within
|
||||
the Source form or documentation, if provided along with the Derivative Works; or, within a display
|
||||
generated by the Derivative Works, if and wherever such third-party notices normally appear. The
|
||||
contents of the NOTICE file are for informational purposes only and do not modify the License. You may
|
||||
add Your own attribution notices within Derivative Works that You distribute, alongside or as an
|
||||
addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be
|
||||
construed as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and may provide additional or different license
|
||||
terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative
|
||||
Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the
|
||||
conditions stated in this License.
|
||||
|
||||
## 5. Submission of Contributions.
|
||||
|
||||
Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by
|
||||
You to the Licensor shall be under the terms and conditions of this License, without any additional terms or
|
||||
conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate
|
||||
license agreement you may have executed with Licensor regarding such Contributions.
|
||||
|
||||
## 6. Trademarks.
|
||||
|
||||
This License does not grant permission to use the trade names, trademarks, service marks, or product names of
|
||||
the Licensor, except as required for reasonable and customary use in describing the origin of the Work and
|
||||
reproducing the content of the NOTICE file.
|
||||
|
||||
## 7. Disclaimer of Warranty.
|
||||
|
||||
Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor
|
||||
provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
||||
or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT,
|
||||
MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of
|
||||
permissions under this License.
|
||||
|
||||
## 8. Limitation of Liability.
|
||||
|
||||
In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless
|
||||
required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any
|
||||
Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential
|
||||
damages of any character arising as a result of this License or out of the use or inability to use the Work
|
||||
(including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or
|
||||
any and all other commercial damages or losses), even if such Contributor has been advised of the possibility
|
||||
of such damages.
|
||||
|
||||
## 9. Accepting Warranty or Additional Liability.
|
||||
|
||||
While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for,
|
||||
acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole
|
||||
responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold
|
||||
each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
64
nextcloud/3rdparty/aws/aws-sdk-php/NOTICE.md
vendored
Normal file
64
nextcloud/3rdparty/aws/aws-sdk-php/NOTICE.md
vendored
Normal file
@ -0,0 +1,64 @@
|
||||
# AWS SDK for PHP
|
||||
|
||||
<http://aws.amazon.com/php>
|
||||
|
||||
Copyright 2010-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License").
|
||||
You may not use this file except in compliance with the License.
|
||||
A copy of the License is located at
|
||||
|
||||
<http://aws.amazon.com/apache2.0>
|
||||
|
||||
or in the "license" file accompanying this file. This file 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.
|
||||
|
||||
# Guzzle
|
||||
|
||||
<https://github.com/guzzle/guzzle>
|
||||
|
||||
Copyright (c) 2014 Michael Dowling, https://github.com/mtdowling
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
# jmespath.php
|
||||
|
||||
<https://github.com/mtdowling/jmespath.php>
|
||||
|
||||
Copyright (c) 2014 Michael Dowling, https://github.com/mtdowling
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
67
nextcloud/3rdparty/aws/aws-sdk-php/composer.json
vendored
Normal file
67
nextcloud/3rdparty/aws/aws-sdk-php/composer.json
vendored
Normal file
@ -0,0 +1,67 @@
|
||||
{
|
||||
"name": "aws/aws-sdk-php",
|
||||
"homepage": "http://aws.amazon.com/sdkforphp",
|
||||
"description": "AWS SDK for PHP - Use Amazon Web Services in your PHP project",
|
||||
"keywords": ["aws","amazon","sdk","s3","ec2","dynamodb","cloud","glacier"],
|
||||
"type": "library",
|
||||
"license": "Apache-2.0",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Amazon Web Services",
|
||||
"homepage": "http://aws.amazon.com"
|
||||
}
|
||||
],
|
||||
"support": {
|
||||
"forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80",
|
||||
"issues": "https://github.com/aws/aws-sdk-php/issues"
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.5",
|
||||
"guzzlehttp/guzzle": "^5.3.3|^6.2.1|^7.0",
|
||||
"guzzlehttp/psr7": "^1.4.1",
|
||||
"guzzlehttp/promises": "^1.0",
|
||||
"mtdowling/jmespath.php": "^2.5",
|
||||
"ext-pcre": "*",
|
||||
"ext-json": "*",
|
||||
"ext-simplexml": "*"
|
||||
},
|
||||
"require-dev": {
|
||||
"ext-openssl": "*",
|
||||
"ext-dom": "*",
|
||||
"ext-pcntl": "*",
|
||||
"ext-sockets": "*",
|
||||
"phpunit/phpunit": "^4.8.35|^5.4.3",
|
||||
"behat/behat": "~3.0",
|
||||
"doctrine/cache": "~1.4",
|
||||
"aws/aws-php-sns-message-validator": "~1.0",
|
||||
"nette/neon": "^2.3",
|
||||
"andrewsville/php-token-reflection": "^1.4",
|
||||
"psr/cache": "^1.0",
|
||||
"psr/simple-cache": "^1.0",
|
||||
"sebastian/comparator": "^1.2.3"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages",
|
||||
"ext-curl": "To send requests using cURL",
|
||||
"ext-sockets": "To use client-side monitoring",
|
||||
"doctrine/cache": "To use the DoctrineCacheAdapter",
|
||||
"aws/aws-php-sns-message-validator": "To validate incoming SNS notifications"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Aws\\": "src/"
|
||||
},
|
||||
"files": ["src/functions.php"]
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"Aws\\Test\\": "tests/"
|
||||
},
|
||||
"classmap": ["build/"]
|
||||
},
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "3.0-dev"
|
||||
}
|
||||
}
|
||||
}
|
||||
49
nextcloud/3rdparty/aws/aws-sdk-php/src/ACMPCA/ACMPCAClient.php
vendored
Normal file
49
nextcloud/3rdparty/aws/aws-sdk-php/src/ACMPCA/ACMPCAClient.php
vendored
Normal file
@ -0,0 +1,49 @@
|
||||
<?php
|
||||
namespace Aws\ACMPCA;
|
||||
|
||||
use Aws\AwsClient;
|
||||
|
||||
/**
|
||||
* This client is used to interact with the **AWS Certificate Manager Private Certificate Authority** service.
|
||||
* @method \Aws\Result createCertificateAuthority(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise createCertificateAuthorityAsync(array $args = [])
|
||||
* @method \Aws\Result createCertificateAuthorityAuditReport(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise createCertificateAuthorityAuditReportAsync(array $args = [])
|
||||
* @method \Aws\Result createPermission(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise createPermissionAsync(array $args = [])
|
||||
* @method \Aws\Result deleteCertificateAuthority(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise deleteCertificateAuthorityAsync(array $args = [])
|
||||
* @method \Aws\Result deletePermission(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise deletePermissionAsync(array $args = [])
|
||||
* @method \Aws\Result describeCertificateAuthority(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise describeCertificateAuthorityAsync(array $args = [])
|
||||
* @method \Aws\Result describeCertificateAuthorityAuditReport(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise describeCertificateAuthorityAuditReportAsync(array $args = [])
|
||||
* @method \Aws\Result getCertificate(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise getCertificateAsync(array $args = [])
|
||||
* @method \Aws\Result getCertificateAuthorityCertificate(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise getCertificateAuthorityCertificateAsync(array $args = [])
|
||||
* @method \Aws\Result getCertificateAuthorityCsr(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise getCertificateAuthorityCsrAsync(array $args = [])
|
||||
* @method \Aws\Result importCertificateAuthorityCertificate(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise importCertificateAuthorityCertificateAsync(array $args = [])
|
||||
* @method \Aws\Result issueCertificate(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise issueCertificateAsync(array $args = [])
|
||||
* @method \Aws\Result listCertificateAuthorities(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listCertificateAuthoritiesAsync(array $args = [])
|
||||
* @method \Aws\Result listPermissions(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listPermissionsAsync(array $args = [])
|
||||
* @method \Aws\Result listTags(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listTagsAsync(array $args = [])
|
||||
* @method \Aws\Result restoreCertificateAuthority(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise restoreCertificateAuthorityAsync(array $args = [])
|
||||
* @method \Aws\Result revokeCertificate(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise revokeCertificateAsync(array $args = [])
|
||||
* @method \Aws\Result tagCertificateAuthority(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise tagCertificateAuthorityAsync(array $args = [])
|
||||
* @method \Aws\Result untagCertificateAuthority(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise untagCertificateAuthorityAsync(array $args = [])
|
||||
* @method \Aws\Result updateCertificateAuthority(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise updateCertificateAuthorityAsync(array $args = [])
|
||||
*/
|
||||
class ACMPCAClient extends AwsClient {}
|
||||
9
nextcloud/3rdparty/aws/aws-sdk-php/src/ACMPCA/Exception/ACMPCAException.php
vendored
Normal file
9
nextcloud/3rdparty/aws/aws-sdk-php/src/ACMPCA/Exception/ACMPCAException.php
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
<?php
|
||||
namespace Aws\ACMPCA\Exception;
|
||||
|
||||
use Aws\Exception\AwsException;
|
||||
|
||||
/**
|
||||
* Represents an error interacting with the **AWS Certificate Manager Private Certificate Authority** service.
|
||||
*/
|
||||
class ACMPCAException extends AwsException {}
|
||||
157
nextcloud/3rdparty/aws/aws-sdk-php/src/AbstractConfigurationProvider.php
vendored
Normal file
157
nextcloud/3rdparty/aws/aws-sdk-php/src/AbstractConfigurationProvider.php
vendored
Normal file
@ -0,0 +1,157 @@
|
||||
<?php
|
||||
namespace Aws;
|
||||
|
||||
use GuzzleHttp\Promise;
|
||||
|
||||
/**
|
||||
* A configuration provider is a function that returns a promise that is
|
||||
* fulfilled with a configuration object. This class provides base functionality
|
||||
* usable by specific configuration provider implementations
|
||||
*/
|
||||
abstract class AbstractConfigurationProvider
|
||||
{
|
||||
const ENV_PROFILE = 'AWS_PROFILE';
|
||||
const ENV_CONFIG_FILE = 'AWS_CONFIG_FILE';
|
||||
|
||||
public static $cacheKey;
|
||||
|
||||
protected static $interfaceClass;
|
||||
protected static $exceptionClass;
|
||||
|
||||
/**
|
||||
* Wraps a config provider and saves provided configuration in an
|
||||
* instance of Aws\CacheInterface. Forwards calls when no config found
|
||||
* in cache and updates cache with the results.
|
||||
*
|
||||
* @param callable $provider Configuration provider function to wrap
|
||||
* @param CacheInterface $cache Cache to store configuration
|
||||
* @param string|null $cacheKey (optional) Cache key to use
|
||||
*
|
||||
* @return callable
|
||||
*/
|
||||
public static function cache(
|
||||
callable $provider,
|
||||
CacheInterface $cache,
|
||||
$cacheKey = null
|
||||
) {
|
||||
$cacheKey = $cacheKey ?: static::$cacheKey;
|
||||
|
||||
return function () use ($provider, $cache, $cacheKey) {
|
||||
$found = $cache->get($cacheKey);
|
||||
if ($found instanceof static::$interfaceClass) {
|
||||
return Promise\promise_for($found);
|
||||
}
|
||||
|
||||
return $provider()
|
||||
->then(function ($config) use (
|
||||
$cache,
|
||||
$cacheKey
|
||||
) {
|
||||
$cache->set($cacheKey, $config);
|
||||
return $config;
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates an aggregate configuration provider that invokes the provided
|
||||
* variadic providers one after the other until a provider returns
|
||||
* configuration.
|
||||
*
|
||||
* @return callable
|
||||
*/
|
||||
public static function chain()
|
||||
{
|
||||
$links = func_get_args();
|
||||
if (empty($links)) {
|
||||
throw new \InvalidArgumentException('No providers in chain');
|
||||
}
|
||||
|
||||
return function () use ($links) {
|
||||
/** @var callable $parent */
|
||||
$parent = array_shift($links);
|
||||
$promise = $parent();
|
||||
while ($next = array_shift($links)) {
|
||||
$promise = $promise->otherwise($next);
|
||||
}
|
||||
return $promise;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the environment's HOME directory if available.
|
||||
*
|
||||
* @return null|string
|
||||
*/
|
||||
protected static function getHomeDir()
|
||||
{
|
||||
// On Linux/Unix-like systems, use the HOME environment variable
|
||||
if ($homeDir = getenv('HOME')) {
|
||||
return $homeDir;
|
||||
}
|
||||
|
||||
// Get the HOMEDRIVE and HOMEPATH values for Windows hosts
|
||||
$homeDrive = getenv('HOMEDRIVE');
|
||||
$homePath = getenv('HOMEPATH');
|
||||
|
||||
return ($homeDrive && $homePath) ? $homeDrive . $homePath : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets default config file location from environment, falling back to aws
|
||||
* default location
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
protected static function getDefaultConfigFilename()
|
||||
{
|
||||
if ($filename = getenv(self::ENV_CONFIG_FILE)) {
|
||||
return $filename;
|
||||
}
|
||||
return self::getHomeDir() . '/.aws/config';
|
||||
}
|
||||
|
||||
/**
|
||||
* Wraps a config provider and caches previously provided configuration.
|
||||
*
|
||||
* @param callable $provider Config provider function to wrap.
|
||||
*
|
||||
* @return callable
|
||||
*/
|
||||
public static function memoize(callable $provider)
|
||||
{
|
||||
return function () use ($provider) {
|
||||
static $result;
|
||||
static $isConstant;
|
||||
|
||||
// Constant config will be returned constantly.
|
||||
if ($isConstant) {
|
||||
return $result;
|
||||
}
|
||||
|
||||
// Create the initial promise that will be used as the cached value
|
||||
if (null === $result) {
|
||||
$result = $provider();
|
||||
}
|
||||
|
||||
// Return config and set flag that provider is already set
|
||||
return $result
|
||||
->then(function ($config) use (&$isConstant) {
|
||||
$isConstant = true;
|
||||
return $config;
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Reject promise with standardized exception.
|
||||
*
|
||||
* @param $msg
|
||||
* @return Promise\RejectedPromise
|
||||
*/
|
||||
protected static function reject($msg)
|
||||
{
|
||||
$exceptionClass = static::$exceptionClass;
|
||||
return new Promise\RejectedPromise(new $exceptionClass($msg));
|
||||
}
|
||||
}
|
||||
45
nextcloud/3rdparty/aws/aws-sdk-php/src/AccessAnalyzer/AccessAnalyzerClient.php
vendored
Normal file
45
nextcloud/3rdparty/aws/aws-sdk-php/src/AccessAnalyzer/AccessAnalyzerClient.php
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
<?php
|
||||
namespace Aws\AccessAnalyzer;
|
||||
|
||||
use Aws\AwsClient;
|
||||
|
||||
/**
|
||||
* This client is used to interact with the **Access Analyzer** service.
|
||||
* @method \Aws\Result createAnalyzer(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise createAnalyzerAsync(array $args = [])
|
||||
* @method \Aws\Result createArchiveRule(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise createArchiveRuleAsync(array $args = [])
|
||||
* @method \Aws\Result deleteAnalyzer(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise deleteAnalyzerAsync(array $args = [])
|
||||
* @method \Aws\Result deleteArchiveRule(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise deleteArchiveRuleAsync(array $args = [])
|
||||
* @method \Aws\Result getAnalyzedResource(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise getAnalyzedResourceAsync(array $args = [])
|
||||
* @method \Aws\Result getAnalyzer(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise getAnalyzerAsync(array $args = [])
|
||||
* @method \Aws\Result getArchiveRule(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise getArchiveRuleAsync(array $args = [])
|
||||
* @method \Aws\Result getFinding(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise getFindingAsync(array $args = [])
|
||||
* @method \Aws\Result listAnalyzedResources(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listAnalyzedResourcesAsync(array $args = [])
|
||||
* @method \Aws\Result listAnalyzers(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listAnalyzersAsync(array $args = [])
|
||||
* @method \Aws\Result listArchiveRules(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listArchiveRulesAsync(array $args = [])
|
||||
* @method \Aws\Result listFindings(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listFindingsAsync(array $args = [])
|
||||
* @method \Aws\Result listTagsForResource(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
|
||||
* @method \Aws\Result startResourceScan(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise startResourceScanAsync(array $args = [])
|
||||
* @method \Aws\Result tagResource(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = [])
|
||||
* @method \Aws\Result untagResource(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = [])
|
||||
* @method \Aws\Result updateArchiveRule(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise updateArchiveRuleAsync(array $args = [])
|
||||
* @method \Aws\Result updateFindings(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise updateFindingsAsync(array $args = [])
|
||||
*/
|
||||
class AccessAnalyzerClient extends AwsClient {}
|
||||
9
nextcloud/3rdparty/aws/aws-sdk-php/src/AccessAnalyzer/Exception/AccessAnalyzerException.php
vendored
Normal file
9
nextcloud/3rdparty/aws/aws-sdk-php/src/AccessAnalyzer/Exception/AccessAnalyzerException.php
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
<?php
|
||||
namespace Aws\AccessAnalyzer\Exception;
|
||||
|
||||
use Aws\Exception\AwsException;
|
||||
|
||||
/**
|
||||
* Represents an error interacting with the **Access Analyzer** service.
|
||||
*/
|
||||
class AccessAnalyzerException extends AwsException {}
|
||||
36
nextcloud/3rdparty/aws/aws-sdk-php/src/Acm/AcmClient.php
vendored
Normal file
36
nextcloud/3rdparty/aws/aws-sdk-php/src/Acm/AcmClient.php
vendored
Normal file
@ -0,0 +1,36 @@
|
||||
<?php
|
||||
namespace Aws\Acm;
|
||||
|
||||
use Aws\AwsClient;
|
||||
|
||||
/**
|
||||
* This client is used to interact with the **AWS Certificate Manager** service.
|
||||
*
|
||||
* @method \Aws\Result addTagsToCertificate(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise addTagsToCertificateAsync(array $args = [])
|
||||
* @method \Aws\Result deleteCertificate(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise deleteCertificateAsync(array $args = [])
|
||||
* @method \Aws\Result describeCertificate(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise describeCertificateAsync(array $args = [])
|
||||
* @method \Aws\Result exportCertificate(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise exportCertificateAsync(array $args = [])
|
||||
* @method \Aws\Result getCertificate(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise getCertificateAsync(array $args = [])
|
||||
* @method \Aws\Result importCertificate(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise importCertificateAsync(array $args = [])
|
||||
* @method \Aws\Result listCertificates(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listCertificatesAsync(array $args = [])
|
||||
* @method \Aws\Result listTagsForCertificate(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listTagsForCertificateAsync(array $args = [])
|
||||
* @method \Aws\Result removeTagsFromCertificate(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise removeTagsFromCertificateAsync(array $args = [])
|
||||
* @method \Aws\Result renewCertificate(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise renewCertificateAsync(array $args = [])
|
||||
* @method \Aws\Result requestCertificate(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise requestCertificateAsync(array $args = [])
|
||||
* @method \Aws\Result resendValidationEmail(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise resendValidationEmailAsync(array $args = [])
|
||||
* @method \Aws\Result updateCertificateOptions(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise updateCertificateOptionsAsync(array $args = [])
|
||||
*/
|
||||
class AcmClient extends AwsClient {}
|
||||
9
nextcloud/3rdparty/aws/aws-sdk-php/src/Acm/Exception/AcmException.php
vendored
Normal file
9
nextcloud/3rdparty/aws/aws-sdk-php/src/Acm/Exception/AcmException.php
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
<?php
|
||||
namespace Aws\Acm\Exception;
|
||||
|
||||
use Aws\Exception\AwsException;
|
||||
|
||||
/**
|
||||
* Represents an error interacting with the **AWS Certificate Manager** service.
|
||||
*/
|
||||
class AcmException extends AwsException {}
|
||||
195
nextcloud/3rdparty/aws/aws-sdk-php/src/AlexaForBusiness/AlexaForBusinessClient.php
vendored
Normal file
195
nextcloud/3rdparty/aws/aws-sdk-php/src/AlexaForBusiness/AlexaForBusinessClient.php
vendored
Normal file
@ -0,0 +1,195 @@
|
||||
<?php
|
||||
namespace Aws\AlexaForBusiness;
|
||||
|
||||
use Aws\AwsClient;
|
||||
|
||||
/**
|
||||
* This client is used to interact with the **Alexa For Business** service.
|
||||
* @method \Aws\Result approveSkill(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise approveSkillAsync(array $args = [])
|
||||
* @method \Aws\Result associateContactWithAddressBook(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise associateContactWithAddressBookAsync(array $args = [])
|
||||
* @method \Aws\Result associateDeviceWithNetworkProfile(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise associateDeviceWithNetworkProfileAsync(array $args = [])
|
||||
* @method \Aws\Result associateDeviceWithRoom(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise associateDeviceWithRoomAsync(array $args = [])
|
||||
* @method \Aws\Result associateSkillGroupWithRoom(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise associateSkillGroupWithRoomAsync(array $args = [])
|
||||
* @method \Aws\Result associateSkillWithSkillGroup(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise associateSkillWithSkillGroupAsync(array $args = [])
|
||||
* @method \Aws\Result associateSkillWithUsers(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise associateSkillWithUsersAsync(array $args = [])
|
||||
* @method \Aws\Result createAddressBook(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise createAddressBookAsync(array $args = [])
|
||||
* @method \Aws\Result createBusinessReportSchedule(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise createBusinessReportScheduleAsync(array $args = [])
|
||||
* @method \Aws\Result createConferenceProvider(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise createConferenceProviderAsync(array $args = [])
|
||||
* @method \Aws\Result createContact(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise createContactAsync(array $args = [])
|
||||
* @method \Aws\Result createGatewayGroup(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise createGatewayGroupAsync(array $args = [])
|
||||
* @method \Aws\Result createNetworkProfile(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise createNetworkProfileAsync(array $args = [])
|
||||
* @method \Aws\Result createProfile(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise createProfileAsync(array $args = [])
|
||||
* @method \Aws\Result createRoom(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise createRoomAsync(array $args = [])
|
||||
* @method \Aws\Result createSkillGroup(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise createSkillGroupAsync(array $args = [])
|
||||
* @method \Aws\Result createUser(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise createUserAsync(array $args = [])
|
||||
* @method \Aws\Result deleteAddressBook(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise deleteAddressBookAsync(array $args = [])
|
||||
* @method \Aws\Result deleteBusinessReportSchedule(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise deleteBusinessReportScheduleAsync(array $args = [])
|
||||
* @method \Aws\Result deleteConferenceProvider(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise deleteConferenceProviderAsync(array $args = [])
|
||||
* @method \Aws\Result deleteContact(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise deleteContactAsync(array $args = [])
|
||||
* @method \Aws\Result deleteDevice(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise deleteDeviceAsync(array $args = [])
|
||||
* @method \Aws\Result deleteDeviceUsageData(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise deleteDeviceUsageDataAsync(array $args = [])
|
||||
* @method \Aws\Result deleteGatewayGroup(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise deleteGatewayGroupAsync(array $args = [])
|
||||
* @method \Aws\Result deleteNetworkProfile(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise deleteNetworkProfileAsync(array $args = [])
|
||||
* @method \Aws\Result deleteProfile(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise deleteProfileAsync(array $args = [])
|
||||
* @method \Aws\Result deleteRoom(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise deleteRoomAsync(array $args = [])
|
||||
* @method \Aws\Result deleteRoomSkillParameter(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise deleteRoomSkillParameterAsync(array $args = [])
|
||||
* @method \Aws\Result deleteSkillAuthorization(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise deleteSkillAuthorizationAsync(array $args = [])
|
||||
* @method \Aws\Result deleteSkillGroup(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise deleteSkillGroupAsync(array $args = [])
|
||||
* @method \Aws\Result deleteUser(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise deleteUserAsync(array $args = [])
|
||||
* @method \Aws\Result disassociateContactFromAddressBook(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise disassociateContactFromAddressBookAsync(array $args = [])
|
||||
* @method \Aws\Result disassociateDeviceFromRoom(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise disassociateDeviceFromRoomAsync(array $args = [])
|
||||
* @method \Aws\Result disassociateSkillFromSkillGroup(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise disassociateSkillFromSkillGroupAsync(array $args = [])
|
||||
* @method \Aws\Result disassociateSkillFromUsers(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise disassociateSkillFromUsersAsync(array $args = [])
|
||||
* @method \Aws\Result disassociateSkillGroupFromRoom(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise disassociateSkillGroupFromRoomAsync(array $args = [])
|
||||
* @method \Aws\Result forgetSmartHomeAppliances(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise forgetSmartHomeAppliancesAsync(array $args = [])
|
||||
* @method \Aws\Result getAddressBook(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise getAddressBookAsync(array $args = [])
|
||||
* @method \Aws\Result getConferencePreference(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise getConferencePreferenceAsync(array $args = [])
|
||||
* @method \Aws\Result getConferenceProvider(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise getConferenceProviderAsync(array $args = [])
|
||||
* @method \Aws\Result getContact(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise getContactAsync(array $args = [])
|
||||
* @method \Aws\Result getDevice(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise getDeviceAsync(array $args = [])
|
||||
* @method \Aws\Result getGateway(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise getGatewayAsync(array $args = [])
|
||||
* @method \Aws\Result getGatewayGroup(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise getGatewayGroupAsync(array $args = [])
|
||||
* @method \Aws\Result getInvitationConfiguration(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise getInvitationConfigurationAsync(array $args = [])
|
||||
* @method \Aws\Result getNetworkProfile(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise getNetworkProfileAsync(array $args = [])
|
||||
* @method \Aws\Result getProfile(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise getProfileAsync(array $args = [])
|
||||
* @method \Aws\Result getRoom(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise getRoomAsync(array $args = [])
|
||||
* @method \Aws\Result getRoomSkillParameter(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise getRoomSkillParameterAsync(array $args = [])
|
||||
* @method \Aws\Result getSkillGroup(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise getSkillGroupAsync(array $args = [])
|
||||
* @method \Aws\Result listBusinessReportSchedules(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listBusinessReportSchedulesAsync(array $args = [])
|
||||
* @method \Aws\Result listConferenceProviders(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listConferenceProvidersAsync(array $args = [])
|
||||
* @method \Aws\Result listDeviceEvents(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listDeviceEventsAsync(array $args = [])
|
||||
* @method \Aws\Result listGatewayGroups(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listGatewayGroupsAsync(array $args = [])
|
||||
* @method \Aws\Result listGateways(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listGatewaysAsync(array $args = [])
|
||||
* @method \Aws\Result listSkills(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listSkillsAsync(array $args = [])
|
||||
* @method \Aws\Result listSkillsStoreCategories(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listSkillsStoreCategoriesAsync(array $args = [])
|
||||
* @method \Aws\Result listSkillsStoreSkillsByCategory(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listSkillsStoreSkillsByCategoryAsync(array $args = [])
|
||||
* @method \Aws\Result listSmartHomeAppliances(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listSmartHomeAppliancesAsync(array $args = [])
|
||||
* @method \Aws\Result listTags(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listTagsAsync(array $args = [])
|
||||
* @method \Aws\Result putConferencePreference(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise putConferencePreferenceAsync(array $args = [])
|
||||
* @method \Aws\Result putInvitationConfiguration(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise putInvitationConfigurationAsync(array $args = [])
|
||||
* @method \Aws\Result putRoomSkillParameter(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise putRoomSkillParameterAsync(array $args = [])
|
||||
* @method \Aws\Result putSkillAuthorization(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise putSkillAuthorizationAsync(array $args = [])
|
||||
* @method \Aws\Result registerAVSDevice(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise registerAVSDeviceAsync(array $args = [])
|
||||
* @method \Aws\Result rejectSkill(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise rejectSkillAsync(array $args = [])
|
||||
* @method \Aws\Result resolveRoom(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise resolveRoomAsync(array $args = [])
|
||||
* @method \Aws\Result revokeInvitation(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise revokeInvitationAsync(array $args = [])
|
||||
* @method \Aws\Result searchAddressBooks(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise searchAddressBooksAsync(array $args = [])
|
||||
* @method \Aws\Result searchContacts(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise searchContactsAsync(array $args = [])
|
||||
* @method \Aws\Result searchDevices(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise searchDevicesAsync(array $args = [])
|
||||
* @method \Aws\Result searchNetworkProfiles(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise searchNetworkProfilesAsync(array $args = [])
|
||||
* @method \Aws\Result searchProfiles(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise searchProfilesAsync(array $args = [])
|
||||
* @method \Aws\Result searchRooms(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise searchRoomsAsync(array $args = [])
|
||||
* @method \Aws\Result searchSkillGroups(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise searchSkillGroupsAsync(array $args = [])
|
||||
* @method \Aws\Result searchUsers(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise searchUsersAsync(array $args = [])
|
||||
* @method \Aws\Result sendAnnouncement(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise sendAnnouncementAsync(array $args = [])
|
||||
* @method \Aws\Result sendInvitation(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise sendInvitationAsync(array $args = [])
|
||||
* @method \Aws\Result startDeviceSync(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise startDeviceSyncAsync(array $args = [])
|
||||
* @method \Aws\Result startSmartHomeApplianceDiscovery(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise startSmartHomeApplianceDiscoveryAsync(array $args = [])
|
||||
* @method \Aws\Result tagResource(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = [])
|
||||
* @method \Aws\Result untagResource(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = [])
|
||||
* @method \Aws\Result updateAddressBook(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise updateAddressBookAsync(array $args = [])
|
||||
* @method \Aws\Result updateBusinessReportSchedule(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise updateBusinessReportScheduleAsync(array $args = [])
|
||||
* @method \Aws\Result updateConferenceProvider(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise updateConferenceProviderAsync(array $args = [])
|
||||
* @method \Aws\Result updateContact(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise updateContactAsync(array $args = [])
|
||||
* @method \Aws\Result updateDevice(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise updateDeviceAsync(array $args = [])
|
||||
* @method \Aws\Result updateGateway(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise updateGatewayAsync(array $args = [])
|
||||
* @method \Aws\Result updateGatewayGroup(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise updateGatewayGroupAsync(array $args = [])
|
||||
* @method \Aws\Result updateNetworkProfile(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise updateNetworkProfileAsync(array $args = [])
|
||||
* @method \Aws\Result updateProfile(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise updateProfileAsync(array $args = [])
|
||||
* @method \Aws\Result updateRoom(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise updateRoomAsync(array $args = [])
|
||||
* @method \Aws\Result updateSkillGroup(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise updateSkillGroupAsync(array $args = [])
|
||||
*/
|
||||
class AlexaForBusinessClient extends AwsClient {}
|
||||
@ -0,0 +1,9 @@
|
||||
<?php
|
||||
namespace Aws\AlexaForBusiness\Exception;
|
||||
|
||||
use Aws\Exception\AwsException;
|
||||
|
||||
/**
|
||||
* Represents an error interacting with the **Alexa For Business** service.
|
||||
*/
|
||||
class AlexaForBusinessException extends AwsException {}
|
||||
83
nextcloud/3rdparty/aws/aws-sdk-php/src/Amplify/AmplifyClient.php
vendored
Normal file
83
nextcloud/3rdparty/aws/aws-sdk-php/src/Amplify/AmplifyClient.php
vendored
Normal file
@ -0,0 +1,83 @@
|
||||
<?php
|
||||
namespace Aws\Amplify;
|
||||
|
||||
use Aws\AwsClient;
|
||||
|
||||
/**
|
||||
* This client is used to interact with the **AWS Amplify** service.
|
||||
* @method \Aws\Result createApp(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise createAppAsync(array $args = [])
|
||||
* @method \Aws\Result createBackendEnvironment(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise createBackendEnvironmentAsync(array $args = [])
|
||||
* @method \Aws\Result createBranch(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise createBranchAsync(array $args = [])
|
||||
* @method \Aws\Result createDeployment(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise createDeploymentAsync(array $args = [])
|
||||
* @method \Aws\Result createDomainAssociation(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise createDomainAssociationAsync(array $args = [])
|
||||
* @method \Aws\Result createWebhook(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise createWebhookAsync(array $args = [])
|
||||
* @method \Aws\Result deleteApp(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise deleteAppAsync(array $args = [])
|
||||
* @method \Aws\Result deleteBackendEnvironment(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise deleteBackendEnvironmentAsync(array $args = [])
|
||||
* @method \Aws\Result deleteBranch(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise deleteBranchAsync(array $args = [])
|
||||
* @method \Aws\Result deleteDomainAssociation(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise deleteDomainAssociationAsync(array $args = [])
|
||||
* @method \Aws\Result deleteJob(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise deleteJobAsync(array $args = [])
|
||||
* @method \Aws\Result deleteWebhook(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise deleteWebhookAsync(array $args = [])
|
||||
* @method \Aws\Result generateAccessLogs(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise generateAccessLogsAsync(array $args = [])
|
||||
* @method \Aws\Result getApp(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise getAppAsync(array $args = [])
|
||||
* @method \Aws\Result getArtifactUrl(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise getArtifactUrlAsync(array $args = [])
|
||||
* @method \Aws\Result getBackendEnvironment(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise getBackendEnvironmentAsync(array $args = [])
|
||||
* @method \Aws\Result getBranch(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise getBranchAsync(array $args = [])
|
||||
* @method \Aws\Result getDomainAssociation(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise getDomainAssociationAsync(array $args = [])
|
||||
* @method \Aws\Result getJob(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise getJobAsync(array $args = [])
|
||||
* @method \Aws\Result getWebhook(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise getWebhookAsync(array $args = [])
|
||||
* @method \Aws\Result listApps(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listAppsAsync(array $args = [])
|
||||
* @method \Aws\Result listArtifacts(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listArtifactsAsync(array $args = [])
|
||||
* @method \Aws\Result listBackendEnvironments(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listBackendEnvironmentsAsync(array $args = [])
|
||||
* @method \Aws\Result listBranches(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listBranchesAsync(array $args = [])
|
||||
* @method \Aws\Result listDomainAssociations(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listDomainAssociationsAsync(array $args = [])
|
||||
* @method \Aws\Result listJobs(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listJobsAsync(array $args = [])
|
||||
* @method \Aws\Result listTagsForResource(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
|
||||
* @method \Aws\Result listWebhooks(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listWebhooksAsync(array $args = [])
|
||||
* @method \Aws\Result startDeployment(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise startDeploymentAsync(array $args = [])
|
||||
* @method \Aws\Result startJob(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise startJobAsync(array $args = [])
|
||||
* @method \Aws\Result stopJob(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise stopJobAsync(array $args = [])
|
||||
* @method \Aws\Result tagResource(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = [])
|
||||
* @method \Aws\Result untagResource(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = [])
|
||||
* @method \Aws\Result updateApp(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise updateAppAsync(array $args = [])
|
||||
* @method \Aws\Result updateBranch(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise updateBranchAsync(array $args = [])
|
||||
* @method \Aws\Result updateDomainAssociation(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise updateDomainAssociationAsync(array $args = [])
|
||||
* @method \Aws\Result updateWebhook(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise updateWebhookAsync(array $args = [])
|
||||
*/
|
||||
class AmplifyClient extends AwsClient {}
|
||||
9
nextcloud/3rdparty/aws/aws-sdk-php/src/Amplify/Exception/AmplifyException.php
vendored
Normal file
9
nextcloud/3rdparty/aws/aws-sdk-php/src/Amplify/Exception/AmplifyException.php
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
<?php
|
||||
namespace Aws\Amplify\Exception;
|
||||
|
||||
use Aws\Exception\AwsException;
|
||||
|
||||
/**
|
||||
* Represents an error interacting with the **AWS Amplify** service.
|
||||
*/
|
||||
class AmplifyException extends AwsException {}
|
||||
67
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/AbstractModel.php
vendored
Normal file
67
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/AbstractModel.php
vendored
Normal file
@ -0,0 +1,67 @@
|
||||
<?php
|
||||
namespace Aws\Api;
|
||||
|
||||
/**
|
||||
* Base class that is used by most API shapes
|
||||
*/
|
||||
abstract class AbstractModel implements \ArrayAccess
|
||||
{
|
||||
/** @var array */
|
||||
protected $definition;
|
||||
|
||||
/** @var ShapeMap */
|
||||
protected $shapeMap;
|
||||
|
||||
/**
|
||||
* @param array $definition Service description
|
||||
* @param ShapeMap $shapeMap Shapemap used for creating shapes
|
||||
*/
|
||||
public function __construct(array $definition, ShapeMap $shapeMap)
|
||||
{
|
||||
$this->definition = $definition;
|
||||
$this->shapeMap = $shapeMap;
|
||||
}
|
||||
|
||||
public function toArray()
|
||||
{
|
||||
return $this->definition;
|
||||
}
|
||||
|
||||
public function offsetGet($offset)
|
||||
{
|
||||
return isset($this->definition[$offset])
|
||||
? $this->definition[$offset] : null;
|
||||
}
|
||||
|
||||
public function offsetSet($offset, $value)
|
||||
{
|
||||
$this->definition[$offset] = $value;
|
||||
}
|
||||
|
||||
public function offsetExists($offset)
|
||||
{
|
||||
return isset($this->definition[$offset]);
|
||||
}
|
||||
|
||||
public function offsetUnset($offset)
|
||||
{
|
||||
unset($this->definition[$offset]);
|
||||
}
|
||||
|
||||
protected function shapeAt($key)
|
||||
{
|
||||
if (!isset($this->definition[$key])) {
|
||||
throw new \InvalidArgumentException('Expected shape definition at '
|
||||
. $key);
|
||||
}
|
||||
|
||||
return $this->shapeFor($this->definition[$key]);
|
||||
}
|
||||
|
||||
protected function shapeFor(array $definition)
|
||||
{
|
||||
return isset($definition['shape'])
|
||||
? $this->shapeMap->resolve($definition)
|
||||
: Shape::create($definition, $this->shapeMap);
|
||||
}
|
||||
}
|
||||
244
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/ApiProvider.php
vendored
Normal file
244
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/ApiProvider.php
vendored
Normal file
@ -0,0 +1,244 @@
|
||||
<?php
|
||||
namespace Aws\Api;
|
||||
|
||||
use Aws\Exception\UnresolvedApiException;
|
||||
|
||||
/**
|
||||
* API providers.
|
||||
*
|
||||
* An API provider is a function that accepts a type, service, and version and
|
||||
* returns an array of API data on success or NULL if no API data can be created
|
||||
* for the provided arguments.
|
||||
*
|
||||
* You can wrap your calls to an API provider with the
|
||||
* {@see ApiProvider::resolve} method to ensure that API data is created. If the
|
||||
* API data is not created, then the resolve() method will throw a
|
||||
* {@see Aws\Exception\UnresolvedApiException}.
|
||||
*
|
||||
* use Aws\Api\ApiProvider;
|
||||
* $provider = ApiProvider::defaultProvider();
|
||||
* // Returns an array or NULL.
|
||||
* $data = $provider('api', 's3', '2006-03-01');
|
||||
* // Returns an array or throws.
|
||||
* $data = ApiProvider::resolve($provider, 'api', 'elasticfood', '2020-01-01');
|
||||
*
|
||||
* You can compose multiple providers into a single provider using
|
||||
* {@see Aws\or_chain}. This method accepts providers as arguments and
|
||||
* returns a new function that will invoke each provider until a non-null value
|
||||
* is returned.
|
||||
*
|
||||
* $a = ApiProvider::filesystem(sys_get_temp_dir() . '/aws-beta-models');
|
||||
* $b = ApiProvider::manifest();
|
||||
*
|
||||
* $c = \Aws\or_chain($a, $b);
|
||||
* $data = $c('api', 'betaservice', '2015-08-08'); // $a handles this.
|
||||
* $data = $c('api', 's3', '2006-03-01'); // $b handles this.
|
||||
* $data = $c('api', 'invalid', '2014-12-15'); // Neither handles this.
|
||||
*/
|
||||
class ApiProvider
|
||||
{
|
||||
/** @var array A map of public API type names to their file suffix. */
|
||||
private static $typeMap = [
|
||||
'api' => 'api-2',
|
||||
'paginator' => 'paginators-1',
|
||||
'waiter' => 'waiters-2',
|
||||
'docs' => 'docs-2',
|
||||
];
|
||||
|
||||
/** @var array API manifest */
|
||||
private $manifest;
|
||||
|
||||
/** @var string The directory containing service models. */
|
||||
private $modelsDir;
|
||||
|
||||
/**
|
||||
* Resolves an API provider and ensures a non-null return value.
|
||||
*
|
||||
* @param callable $provider Provider function to invoke.
|
||||
* @param string $type Type of data ('api', 'waiter', 'paginator').
|
||||
* @param string $service Service name.
|
||||
* @param string $version API version.
|
||||
*
|
||||
* @return array
|
||||
* @throws UnresolvedApiException
|
||||
*/
|
||||
public static function resolve(callable $provider, $type, $service, $version)
|
||||
{
|
||||
// Execute the provider and return the result, if there is one.
|
||||
$result = $provider($type, $service, $version);
|
||||
if (is_array($result)) {
|
||||
if (!isset($result['metadata']['serviceIdentifier'])) {
|
||||
$result['metadata']['serviceIdentifier'] = $service;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
// Throw an exception with a message depending on the inputs.
|
||||
if (!isset(self::$typeMap[$type])) {
|
||||
$msg = "The type must be one of: " . implode(', ', self::$typeMap);
|
||||
} elseif ($service) {
|
||||
$msg = "The {$service} service does not have version: {$version}.";
|
||||
} else {
|
||||
$msg = "You must specify a service name to retrieve its API data.";
|
||||
}
|
||||
|
||||
throw new UnresolvedApiException($msg);
|
||||
}
|
||||
|
||||
/**
|
||||
* Default SDK API provider.
|
||||
*
|
||||
* This provider loads pre-built manifest data from the `data` directory.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function defaultProvider()
|
||||
{
|
||||
return new self(__DIR__ . '/../data', \Aws\manifest());
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads API data after resolving the version to the latest, compatible,
|
||||
* available version based on the provided manifest data.
|
||||
*
|
||||
* Manifest data is essentially an associative array of service names to
|
||||
* associative arrays of API version aliases.
|
||||
*
|
||||
* [
|
||||
* ...
|
||||
* 'ec2' => [
|
||||
* 'latest' => '2014-10-01',
|
||||
* '2014-10-01' => '2014-10-01',
|
||||
* '2014-09-01' => '2014-10-01',
|
||||
* '2014-06-15' => '2014-10-01',
|
||||
* ...
|
||||
* ],
|
||||
* 'ecs' => [...],
|
||||
* 'elasticache' => [...],
|
||||
* ...
|
||||
* ]
|
||||
*
|
||||
* @param string $dir Directory containing service models.
|
||||
* @param array $manifest The API version manifest data.
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public static function manifest($dir, array $manifest)
|
||||
{
|
||||
return new self($dir, $manifest);
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads API data from the specified directory.
|
||||
*
|
||||
* If "latest" is specified as the version, this provider must glob the
|
||||
* directory to find which is the latest available version.
|
||||
*
|
||||
* @param string $dir Directory containing service models.
|
||||
*
|
||||
* @return self
|
||||
* @throws \InvalidArgumentException if the provided `$dir` is invalid.
|
||||
*/
|
||||
public static function filesystem($dir)
|
||||
{
|
||||
return new self($dir);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves a list of valid versions for the specified service.
|
||||
*
|
||||
* @param string $service Service name
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getVersions($service)
|
||||
{
|
||||
if (!isset($this->manifest)) {
|
||||
$this->buildVersionsList($service);
|
||||
}
|
||||
|
||||
if (!isset($this->manifest[$service]['versions'])) {
|
||||
return [];
|
||||
}
|
||||
|
||||
return array_values(array_unique($this->manifest[$service]['versions']));
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute the provider.
|
||||
*
|
||||
* @param string $type Type of data ('api', 'waiter', 'paginator').
|
||||
* @param string $service Service name.
|
||||
* @param string $version API version.
|
||||
*
|
||||
* @return array|null
|
||||
*/
|
||||
public function __invoke($type, $service, $version)
|
||||
{
|
||||
// Resolve the type or return null.
|
||||
if (isset(self::$typeMap[$type])) {
|
||||
$type = self::$typeMap[$type];
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
|
||||
// Resolve the version or return null.
|
||||
if (!isset($this->manifest)) {
|
||||
$this->buildVersionsList($service);
|
||||
}
|
||||
|
||||
if (!isset($this->manifest[$service]['versions'][$version])) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$version = $this->manifest[$service]['versions'][$version];
|
||||
$path = "{$this->modelsDir}/{$service}/{$version}/{$type}.json";
|
||||
|
||||
try {
|
||||
return \Aws\load_compiled_json($path);
|
||||
} catch (\InvalidArgumentException $e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $modelsDir Directory containing service models.
|
||||
* @param array $manifest The API version manifest data.
|
||||
*/
|
||||
private function __construct($modelsDir, array $manifest = null)
|
||||
{
|
||||
$this->manifest = $manifest;
|
||||
$this->modelsDir = rtrim($modelsDir, '/');
|
||||
if (!is_dir($this->modelsDir)) {
|
||||
throw new \InvalidArgumentException(
|
||||
"The specified models directory, {$modelsDir}, was not found."
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Build the versions list for the specified service by globbing the dir.
|
||||
*/
|
||||
private function buildVersionsList($service)
|
||||
{
|
||||
$dir = "{$this->modelsDir}/{$service}/";
|
||||
|
||||
if (!is_dir($dir)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Get versions, remove . and .., and sort in descending order.
|
||||
$results = array_diff(scandir($dir, SCANDIR_SORT_DESCENDING), ['..', '.']);
|
||||
|
||||
if (!$results) {
|
||||
$this->manifest[$service] = ['versions' => []];
|
||||
} else {
|
||||
$this->manifest[$service] = [
|
||||
'versions' => [
|
||||
'latest' => $results[0]
|
||||
]
|
||||
];
|
||||
$this->manifest[$service]['versions'] += array_combine($results, $results);
|
||||
}
|
||||
}
|
||||
}
|
||||
41
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/DateTimeResult.php
vendored
Normal file
41
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/DateTimeResult.php
vendored
Normal file
@ -0,0 +1,41 @@
|
||||
<?php
|
||||
namespace Aws\Api;
|
||||
|
||||
/**
|
||||
* DateTime overrides that make DateTime work more seamlessly as a string,
|
||||
* with JSON documents, and with JMESPath.
|
||||
*/
|
||||
class DateTimeResult extends \DateTime implements \JsonSerializable
|
||||
{
|
||||
/**
|
||||
* Create a new DateTimeResult from a unix timestamp.
|
||||
*
|
||||
* @param $unixTimestamp
|
||||
*
|
||||
* @return DateTimeResult
|
||||
*/
|
||||
public static function fromEpoch($unixTimestamp)
|
||||
{
|
||||
return new self(gmdate('c', $unixTimestamp));
|
||||
}
|
||||
|
||||
/**
|
||||
* Serialize the DateTimeResult as an ISO 8601 date string.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __toString()
|
||||
{
|
||||
return $this->format('c');
|
||||
}
|
||||
|
||||
/**
|
||||
* Serialize the date as an ISO 8601 date when serializing as JSON.
|
||||
*
|
||||
* @return mixed|string
|
||||
*/
|
||||
public function jsonSerialize()
|
||||
{
|
||||
return (string) $this;
|
||||
}
|
||||
}
|
||||
128
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/DocModel.php
vendored
Normal file
128
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/DocModel.php
vendored
Normal file
@ -0,0 +1,128 @@
|
||||
<?php
|
||||
namespace Aws\Api;
|
||||
|
||||
/**
|
||||
* Encapsulates the documentation strings for a given service-version and
|
||||
* provides methods for extracting the desired parts related to a service,
|
||||
* operation, error, or shape (i.e., parameter).
|
||||
*/
|
||||
class DocModel
|
||||
{
|
||||
/** @var array */
|
||||
private $docs;
|
||||
|
||||
/**
|
||||
* @param array $docs
|
||||
*
|
||||
* @throws \RuntimeException
|
||||
*/
|
||||
public function __construct(array $docs)
|
||||
{
|
||||
if (!extension_loaded('tidy')) {
|
||||
throw new \RuntimeException('The "tidy" PHP extension is required.');
|
||||
}
|
||||
|
||||
$this->docs = $docs;
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert the doc model to an array.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function toArray()
|
||||
{
|
||||
return $this->docs;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves documentation about the service.
|
||||
*
|
||||
* @return null|string
|
||||
*/
|
||||
public function getServiceDocs()
|
||||
{
|
||||
return isset($this->docs['service']) ? $this->docs['service'] : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves documentation about an operation.
|
||||
*
|
||||
* @param string $operation Name of the operation
|
||||
*
|
||||
* @return null|string
|
||||
*/
|
||||
public function getOperationDocs($operation)
|
||||
{
|
||||
return isset($this->docs['operations'][$operation])
|
||||
? $this->docs['operations'][$operation]
|
||||
: null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves documentation about an error.
|
||||
*
|
||||
* @param string $error Name of the error
|
||||
*
|
||||
* @return null|string
|
||||
*/
|
||||
public function getErrorDocs($error)
|
||||
{
|
||||
return isset($this->docs['shapes'][$error]['base'])
|
||||
? $this->docs['shapes'][$error]['base']
|
||||
: null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves documentation about a shape, specific to the context.
|
||||
*
|
||||
* @param string $shapeName Name of the shape.
|
||||
* @param string $parentName Name of the parent/context shape.
|
||||
* @param string $ref Name used by the context to reference the shape.
|
||||
*
|
||||
* @return null|string
|
||||
*/
|
||||
public function getShapeDocs($shapeName, $parentName, $ref)
|
||||
{
|
||||
if (!isset($this->docs['shapes'][$shapeName])) {
|
||||
return '';
|
||||
}
|
||||
|
||||
$result = '';
|
||||
$d = $this->docs['shapes'][$shapeName];
|
||||
if (isset($d['refs']["{$parentName}\$${ref}"])) {
|
||||
$result = $d['refs']["{$parentName}\$${ref}"];
|
||||
} elseif (isset($d['base'])) {
|
||||
$result = $d['base'];
|
||||
}
|
||||
|
||||
if (isset($d['append'])) {
|
||||
$result .= $d['append'];
|
||||
}
|
||||
|
||||
return $this->clean($result);
|
||||
}
|
||||
|
||||
private function clean($content)
|
||||
{
|
||||
if (!$content) {
|
||||
return '';
|
||||
}
|
||||
|
||||
$tidy = new \tidy();
|
||||
$tidy->parseString($content, [
|
||||
'indent' => true,
|
||||
'doctype' => 'omit',
|
||||
'output-html' => true,
|
||||
'show-body-only' => true,
|
||||
'drop-empty-paras' => true,
|
||||
'drop-font-tags' => true,
|
||||
'drop-proprietary-attributes' => true,
|
||||
'hide-comments' => true,
|
||||
'logical-emphasis' => true
|
||||
]);
|
||||
$tidy->cleanRepair();
|
||||
|
||||
return (string) $content;
|
||||
}
|
||||
}
|
||||
94
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/ErrorParser/AbstractErrorParser.php
vendored
Normal file
94
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/ErrorParser/AbstractErrorParser.php
vendored
Normal file
@ -0,0 +1,94 @@
|
||||
<?php
|
||||
namespace Aws\Api\ErrorParser;
|
||||
|
||||
use Aws\Api\Parser\MetadataParserTrait;
|
||||
use Aws\Api\Parser\PayloadParserTrait;
|
||||
use Aws\Api\Service;
|
||||
use Aws\Api\StructureShape;
|
||||
use Aws\CommandInterface;
|
||||
use Psr\Http\Message\ResponseInterface;
|
||||
|
||||
abstract class AbstractErrorParser
|
||||
{
|
||||
use MetadataParserTrait;
|
||||
use PayloadParserTrait;
|
||||
|
||||
/**
|
||||
* @var Service
|
||||
*/
|
||||
protected $api;
|
||||
|
||||
/**
|
||||
* @param Service $api
|
||||
*/
|
||||
public function __construct(Service $api = null)
|
||||
{
|
||||
$this->api = $api;
|
||||
}
|
||||
|
||||
abstract protected function payload(
|
||||
ResponseInterface $response,
|
||||
StructureShape $member
|
||||
);
|
||||
|
||||
protected function extractPayload(
|
||||
StructureShape $member,
|
||||
ResponseInterface $response
|
||||
) {
|
||||
if ($member instanceof StructureShape) {
|
||||
// Structure members parse top-level data into a specific key.
|
||||
return $this->payload($response, $member);
|
||||
} else {
|
||||
// Streaming data is just the stream from the response body.
|
||||
return $response->getBody();
|
||||
}
|
||||
}
|
||||
|
||||
protected function populateShape(
|
||||
array &$data,
|
||||
ResponseInterface $response,
|
||||
CommandInterface $command = null
|
||||
) {
|
||||
$data['body'] = [];
|
||||
|
||||
if (!empty($command) && !empty($this->api)) {
|
||||
|
||||
// If modeled error code is indicated, check for known error shape
|
||||
if (!empty($data['code'])) {
|
||||
|
||||
$errors = $this->api->getOperation($command->getName())->getErrors();
|
||||
foreach ($errors as $key => $error) {
|
||||
|
||||
// If error code matches a known error shape, populate the body
|
||||
if ($data['code'] == $error['name']
|
||||
&& $error instanceof StructureShape
|
||||
) {
|
||||
$modeledError = $error;
|
||||
$data['body'] = $this->extractPayload(
|
||||
$modeledError,
|
||||
$response
|
||||
);
|
||||
|
||||
foreach ($error->getMembers() as $name => $member) {
|
||||
switch ($member['location']) {
|
||||
case 'header':
|
||||
$this->extractHeader($name, $member, $response, $data['body']);
|
||||
break;
|
||||
case 'headers':
|
||||
$this->extractHeaders($name, $member, $response, $data['body']);
|
||||
break;
|
||||
case 'statusCode':
|
||||
$this->extractStatus($name, $response, $data['body']);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
38
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/ErrorParser/JsonParserTrait.php
vendored
Normal file
38
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/ErrorParser/JsonParserTrait.php
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
<?php
|
||||
namespace Aws\Api\ErrorParser;
|
||||
|
||||
use Aws\Api\Parser\PayloadParserTrait;
|
||||
use Aws\Api\StructureShape;
|
||||
use Psr\Http\Message\ResponseInterface;
|
||||
|
||||
/**
|
||||
* Provides basic JSON error parsing functionality.
|
||||
*/
|
||||
trait JsonParserTrait
|
||||
{
|
||||
use PayloadParserTrait;
|
||||
|
||||
private function genericHandler(ResponseInterface $response)
|
||||
{
|
||||
$code = (string) $response->getStatusCode();
|
||||
|
||||
return [
|
||||
'request_id' => (string) $response->getHeaderLine('x-amzn-requestid'),
|
||||
'code' => null,
|
||||
'message' => null,
|
||||
'type' => $code[0] == '4' ? 'client' : 'server',
|
||||
'parsed' => $this->parseJson($response->getBody(), $response)
|
||||
];
|
||||
}
|
||||
|
||||
protected function payload(
|
||||
ResponseInterface $response,
|
||||
StructureShape $member
|
||||
) {
|
||||
$jsonBody = $this->parseJson($response->getBody(), $response);
|
||||
|
||||
if ($jsonBody) {
|
||||
return $this->parser->parse($member, $jsonBody);
|
||||
}
|
||||
}
|
||||
}
|
||||
47
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/ErrorParser/JsonRpcErrorParser.php
vendored
Normal file
47
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/ErrorParser/JsonRpcErrorParser.php
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
<?php
|
||||
namespace Aws\Api\ErrorParser;
|
||||
|
||||
use Aws\Api\Parser\JsonParser;
|
||||
use Aws\Api\Service;
|
||||
use Aws\CommandInterface;
|
||||
use Psr\Http\Message\ResponseInterface;
|
||||
|
||||
/**
|
||||
* Parsers JSON-RPC errors.
|
||||
*/
|
||||
class JsonRpcErrorParser extends AbstractErrorParser
|
||||
{
|
||||
use JsonParserTrait;
|
||||
|
||||
private $parser;
|
||||
|
||||
public function __construct(Service $api = null, JsonParser $parser = null)
|
||||
{
|
||||
parent::__construct($api);
|
||||
$this->parser = $parser ?: new JsonParser();
|
||||
}
|
||||
|
||||
public function __invoke(
|
||||
ResponseInterface $response,
|
||||
CommandInterface $command = null
|
||||
) {
|
||||
$data = $this->genericHandler($response);
|
||||
|
||||
// Make the casing consistent across services.
|
||||
if ($data['parsed']) {
|
||||
$data['parsed'] = array_change_key_case($data['parsed']);
|
||||
}
|
||||
|
||||
if (isset($data['parsed']['__type'])) {
|
||||
$parts = explode('#', $data['parsed']['__type']);
|
||||
$data['code'] = isset($parts[1]) ? $parts[1] : $parts[0];
|
||||
$data['message'] = isset($data['parsed']['message'])
|
||||
? $data['parsed']['message']
|
||||
: null;
|
||||
}
|
||||
|
||||
$this->populateShape($data, $response, $command);
|
||||
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
58
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/ErrorParser/RestJsonErrorParser.php
vendored
Normal file
58
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/ErrorParser/RestJsonErrorParser.php
vendored
Normal file
@ -0,0 +1,58 @@
|
||||
<?php
|
||||
namespace Aws\Api\ErrorParser;
|
||||
|
||||
use Aws\Api\Parser\JsonParser;
|
||||
use Aws\Api\Service;
|
||||
use Aws\Api\StructureShape;
|
||||
use Aws\CommandInterface;
|
||||
use Psr\Http\Message\ResponseInterface;
|
||||
|
||||
/**
|
||||
* Parses JSON-REST errors.
|
||||
*/
|
||||
class RestJsonErrorParser extends AbstractErrorParser
|
||||
{
|
||||
use JsonParserTrait;
|
||||
|
||||
private $parser;
|
||||
|
||||
public function __construct(Service $api = null, JsonParser $parser = null)
|
||||
{
|
||||
parent::__construct($api);
|
||||
$this->parser = $parser ?: new JsonParser();
|
||||
}
|
||||
|
||||
public function __invoke(
|
||||
ResponseInterface $response,
|
||||
CommandInterface $command = null
|
||||
) {
|
||||
$data = $this->genericHandler($response);
|
||||
|
||||
// Merge in error data from the JSON body
|
||||
if ($json = $data['parsed']) {
|
||||
$data = array_replace($data, $json);
|
||||
}
|
||||
|
||||
// Correct error type from services like Amazon Glacier
|
||||
if (!empty($data['type'])) {
|
||||
$data['type'] = strtolower($data['type']);
|
||||
}
|
||||
|
||||
// Retrieve the error code from services like Amazon Elastic Transcoder
|
||||
if ($code = $response->getHeaderLine('x-amzn-errortype')) {
|
||||
$colon = strpos($code, ':');
|
||||
$data['code'] = $colon ? substr($code, 0, $colon) : $code;
|
||||
}
|
||||
|
||||
// Retrieve error message directly
|
||||
$data['message'] = isset($data['parsed']['message'])
|
||||
? $data['parsed']['message']
|
||||
: (isset($data['parsed']['Message'])
|
||||
? $data['parsed']['Message']
|
||||
: null);
|
||||
|
||||
$this->populateShape($data, $response, $command);
|
||||
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
111
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/ErrorParser/XmlErrorParser.php
vendored
Normal file
111
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/ErrorParser/XmlErrorParser.php
vendored
Normal file
@ -0,0 +1,111 @@
|
||||
<?php
|
||||
namespace Aws\Api\ErrorParser;
|
||||
|
||||
use Aws\Api\Parser\PayloadParserTrait;
|
||||
use Aws\Api\Parser\XmlParser;
|
||||
use Aws\Api\Service;
|
||||
use Aws\Api\StructureShape;
|
||||
use Aws\CommandInterface;
|
||||
use Psr\Http\Message\ResponseInterface;
|
||||
|
||||
/**
|
||||
* Parses XML errors.
|
||||
*/
|
||||
class XmlErrorParser extends AbstractErrorParser
|
||||
{
|
||||
use PayloadParserTrait;
|
||||
|
||||
protected $parser;
|
||||
|
||||
public function __construct(Service $api = null, XmlParser $parser = null)
|
||||
{
|
||||
parent::__construct($api);
|
||||
$this->parser = $parser ?: new XmlParser();
|
||||
}
|
||||
|
||||
public function __invoke(
|
||||
ResponseInterface $response,
|
||||
CommandInterface $command = null
|
||||
) {
|
||||
$code = (string) $response->getStatusCode();
|
||||
|
||||
$data = [
|
||||
'type' => $code[0] == '4' ? 'client' : 'server',
|
||||
'request_id' => null,
|
||||
'code' => null,
|
||||
'message' => null,
|
||||
'parsed' => null
|
||||
];
|
||||
|
||||
$body = $response->getBody();
|
||||
if ($body->getSize() > 0) {
|
||||
$this->parseBody($this->parseXml($body, $response), $data);
|
||||
} else {
|
||||
$this->parseHeaders($response, $data);
|
||||
}
|
||||
|
||||
$this->populateShape($data, $response, $command);
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
private function parseHeaders(ResponseInterface $response, array &$data)
|
||||
{
|
||||
if ($response->getStatusCode() == '404') {
|
||||
$data['code'] = 'NotFound';
|
||||
}
|
||||
|
||||
$data['message'] = $response->getStatusCode() . ' '
|
||||
. $response->getReasonPhrase();
|
||||
|
||||
if ($requestId = $response->getHeaderLine('x-amz-request-id')) {
|
||||
$data['request_id'] = $requestId;
|
||||
$data['message'] .= " (Request-ID: $requestId)";
|
||||
}
|
||||
}
|
||||
|
||||
private function parseBody(\SimpleXMLElement $body, array &$data)
|
||||
{
|
||||
$data['parsed'] = $body;
|
||||
$prefix = $this->registerNamespacePrefix($body);
|
||||
|
||||
if ($tempXml = $body->xpath("//{$prefix}Code[1]")) {
|
||||
$data['code'] = (string) $tempXml[0];
|
||||
}
|
||||
|
||||
if ($tempXml = $body->xpath("//{$prefix}Message[1]")) {
|
||||
$data['message'] = (string) $tempXml[0];
|
||||
}
|
||||
|
||||
$tempXml = $body->xpath("//{$prefix}RequestId[1]");
|
||||
if (isset($tempXml[0])) {
|
||||
$data['request_id'] = (string)$tempXml[0];
|
||||
}
|
||||
}
|
||||
|
||||
protected function registerNamespacePrefix(\SimpleXMLElement $element)
|
||||
{
|
||||
$namespaces = $element->getDocNamespaces();
|
||||
if (!isset($namespaces[''])) {
|
||||
return '';
|
||||
}
|
||||
|
||||
// Account for the default namespace being defined and PHP not
|
||||
// being able to handle it :(.
|
||||
$element->registerXPathNamespace('ns', $namespaces['']);
|
||||
return 'ns:';
|
||||
}
|
||||
|
||||
protected function payload(
|
||||
ResponseInterface $response,
|
||||
StructureShape $member
|
||||
) {
|
||||
$xmlBody = $this->parseXml($response->getBody(), $response);
|
||||
$prefix = $this->registerNamespacePrefix($xmlBody);
|
||||
$errorBody = $xmlBody->xpath("//{$prefix}Error");
|
||||
|
||||
if (is_array($errorBody) && !empty($errorBody[0])) {
|
||||
return $this->parser->parse($member, $errorBody[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
35
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/ListShape.php
vendored
Normal file
35
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/ListShape.php
vendored
Normal file
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
namespace Aws\Api;
|
||||
|
||||
/**
|
||||
* Represents a list shape.
|
||||
*/
|
||||
class ListShape extends Shape
|
||||
{
|
||||
private $member;
|
||||
|
||||
public function __construct(array $definition, ShapeMap $shapeMap)
|
||||
{
|
||||
$definition['type'] = 'list';
|
||||
parent::__construct($definition, $shapeMap);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Shape
|
||||
* @throws \RuntimeException if no member is specified
|
||||
*/
|
||||
public function getMember()
|
||||
{
|
||||
if (!$this->member) {
|
||||
if (!isset($this->definition['member'])) {
|
||||
throw new \RuntimeException('No member attribute specified');
|
||||
}
|
||||
$this->member = Shape::create(
|
||||
$this->definition['member'],
|
||||
$this->shapeMap
|
||||
);
|
||||
}
|
||||
|
||||
return $this->member;
|
||||
}
|
||||
}
|
||||
54
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/MapShape.php
vendored
Normal file
54
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/MapShape.php
vendored
Normal file
@ -0,0 +1,54 @@
|
||||
<?php
|
||||
namespace Aws\Api;
|
||||
|
||||
/**
|
||||
* Represents a map shape.
|
||||
*/
|
||||
class MapShape extends Shape
|
||||
{
|
||||
/** @var Shape */
|
||||
private $value;
|
||||
|
||||
/** @var Shape */
|
||||
private $key;
|
||||
|
||||
public function __construct(array $definition, ShapeMap $shapeMap)
|
||||
{
|
||||
$definition['type'] = 'map';
|
||||
parent::__construct($definition, $shapeMap);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Shape
|
||||
* @throws \RuntimeException if no value is specified
|
||||
*/
|
||||
public function getValue()
|
||||
{
|
||||
if (!$this->value) {
|
||||
if (!isset($this->definition['value'])) {
|
||||
throw new \RuntimeException('No value specified');
|
||||
}
|
||||
|
||||
$this->value = Shape::create(
|
||||
$this->definition['value'],
|
||||
$this->shapeMap
|
||||
);
|
||||
}
|
||||
|
||||
return $this->value;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Shape
|
||||
*/
|
||||
public function getKey()
|
||||
{
|
||||
if (!$this->key) {
|
||||
$this->key = isset($this->definition['key'])
|
||||
? Shape::create($this->definition['key'], $this->shapeMap)
|
||||
: new Shape(['type' => 'string'], $this->shapeMap);
|
||||
}
|
||||
|
||||
return $this->key;
|
||||
}
|
||||
}
|
||||
97
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/Operation.php
vendored
Normal file
97
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/Operation.php
vendored
Normal file
@ -0,0 +1,97 @@
|
||||
<?php
|
||||
namespace Aws\Api;
|
||||
|
||||
/**
|
||||
* Represents an API operation.
|
||||
*/
|
||||
class Operation extends AbstractModel
|
||||
{
|
||||
private $input;
|
||||
private $output;
|
||||
private $errors;
|
||||
|
||||
public function __construct(array $definition, ShapeMap $shapeMap)
|
||||
{
|
||||
$definition['type'] = 'structure';
|
||||
|
||||
if (!isset($definition['http']['method'])) {
|
||||
$definition['http']['method'] = 'POST';
|
||||
}
|
||||
|
||||
if (!isset($definition['http']['requestUri'])) {
|
||||
$definition['http']['requestUri'] = '/';
|
||||
}
|
||||
|
||||
parent::__construct($definition, $shapeMap);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an associative array of the HTTP attribute of the operation:
|
||||
*
|
||||
* - method: HTTP method of the operation
|
||||
* - requestUri: URI of the request (can include URI template placeholders)
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getHttp()
|
||||
{
|
||||
return $this->definition['http'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the input shape of the operation.
|
||||
*
|
||||
* @return StructureShape
|
||||
*/
|
||||
public function getInput()
|
||||
{
|
||||
if (!$this->input) {
|
||||
if ($input = $this['input']) {
|
||||
$this->input = $this->shapeFor($input);
|
||||
} else {
|
||||
$this->input = new StructureShape([], $this->shapeMap);
|
||||
}
|
||||
}
|
||||
|
||||
return $this->input;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the output shape of the operation.
|
||||
*
|
||||
* @return StructureShape
|
||||
*/
|
||||
public function getOutput()
|
||||
{
|
||||
if (!$this->output) {
|
||||
if ($output = $this['output']) {
|
||||
$this->output = $this->shapeFor($output);
|
||||
} else {
|
||||
$this->output = new StructureShape([], $this->shapeMap);
|
||||
}
|
||||
}
|
||||
|
||||
return $this->output;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get an array of operation error shapes.
|
||||
*
|
||||
* @return Shape[]
|
||||
*/
|
||||
public function getErrors()
|
||||
{
|
||||
if ($this->errors === null) {
|
||||
if ($errors = $this['errors']) {
|
||||
foreach ($errors as $key => $error) {
|
||||
$errors[$key] = $this->shapeFor($error);
|
||||
}
|
||||
$this->errors = $errors;
|
||||
} else {
|
||||
$this->errors = [];
|
||||
}
|
||||
}
|
||||
|
||||
return $this->errors;
|
||||
}
|
||||
}
|
||||
46
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/Parser/AbstractParser.php
vendored
Normal file
46
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/Parser/AbstractParser.php
vendored
Normal file
@ -0,0 +1,46 @@
|
||||
<?php
|
||||
namespace Aws\Api\Parser;
|
||||
|
||||
use Aws\Api\Service;
|
||||
use Aws\Api\StructureShape;
|
||||
use Aws\CommandInterface;
|
||||
use Aws\ResultInterface;
|
||||
use Psr\Http\Message\ResponseInterface;
|
||||
use Psr\Http\Message\StreamInterface;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
abstract class AbstractParser
|
||||
{
|
||||
/** @var \Aws\Api\Service Representation of the service API*/
|
||||
protected $api;
|
||||
|
||||
/** @var callable */
|
||||
protected $parser;
|
||||
|
||||
/**
|
||||
* @param Service $api Service description.
|
||||
*/
|
||||
public function __construct(Service $api)
|
||||
{
|
||||
$this->api = $api;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param CommandInterface $command Command that was executed.
|
||||
* @param ResponseInterface $response Response that was received.
|
||||
*
|
||||
* @return ResultInterface
|
||||
*/
|
||||
abstract public function __invoke(
|
||||
CommandInterface $command,
|
||||
ResponseInterface $response
|
||||
);
|
||||
|
||||
abstract public function parseMemberFromStream(
|
||||
StreamInterface $stream,
|
||||
StructureShape $member,
|
||||
$response
|
||||
);
|
||||
}
|
||||
185
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/Parser/AbstractRestParser.php
vendored
Normal file
185
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/Parser/AbstractRestParser.php
vendored
Normal file
@ -0,0 +1,185 @@
|
||||
<?php
|
||||
namespace Aws\Api\Parser;
|
||||
|
||||
use Aws\Api\DateTimeResult;
|
||||
use Aws\Api\Shape;
|
||||
use Aws\Api\StructureShape;
|
||||
use Aws\Result;
|
||||
use Aws\CommandInterface;
|
||||
use Psr\Http\Message\ResponseInterface;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
abstract class AbstractRestParser extends AbstractParser
|
||||
{
|
||||
use PayloadParserTrait;
|
||||
|
||||
/**
|
||||
* Parses a payload from a response.
|
||||
*
|
||||
* @param ResponseInterface $response Response to parse.
|
||||
* @param StructureShape $member Member to parse
|
||||
* @param array $result Result value
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
abstract protected function payload(
|
||||
ResponseInterface $response,
|
||||
StructureShape $member,
|
||||
array &$result
|
||||
);
|
||||
|
||||
public function __invoke(
|
||||
CommandInterface $command,
|
||||
ResponseInterface $response
|
||||
) {
|
||||
$output = $this->api->getOperation($command->getName())->getOutput();
|
||||
$result = [];
|
||||
|
||||
if ($payload = $output['payload']) {
|
||||
$this->extractPayload($payload, $output, $response, $result);
|
||||
}
|
||||
|
||||
foreach ($output->getMembers() as $name => $member) {
|
||||
switch ($member['location']) {
|
||||
case 'header':
|
||||
$this->extractHeader($name, $member, $response, $result);
|
||||
break;
|
||||
case 'headers':
|
||||
$this->extractHeaders($name, $member, $response, $result);
|
||||
break;
|
||||
case 'statusCode':
|
||||
$this->extractStatus($name, $response, $result);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!$payload
|
||||
&& $response->getBody()->getSize() > 0
|
||||
&& count($output->getMembers()) > 0
|
||||
) {
|
||||
// if no payload was found, then parse the contents of the body
|
||||
$this->payload($response, $output, $result);
|
||||
}
|
||||
|
||||
return new Result($result);
|
||||
}
|
||||
|
||||
private function extractPayload(
|
||||
$payload,
|
||||
StructureShape $output,
|
||||
ResponseInterface $response,
|
||||
array &$result
|
||||
) {
|
||||
$member = $output->getMember($payload);
|
||||
|
||||
if (!empty($member['eventstream'])) {
|
||||
$result[$payload] = new EventParsingIterator(
|
||||
$response->getBody(),
|
||||
$member,
|
||||
$this
|
||||
);
|
||||
} else if ($member instanceof StructureShape) {
|
||||
// Structure members parse top-level data into a specific key.
|
||||
$result[$payload] = [];
|
||||
$this->payload($response, $member, $result[$payload]);
|
||||
} else {
|
||||
// Streaming data is just the stream from the response body.
|
||||
$result[$payload] = $response->getBody();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Extract a single header from the response into the result.
|
||||
*/
|
||||
private function extractHeader(
|
||||
$name,
|
||||
Shape $shape,
|
||||
ResponseInterface $response,
|
||||
&$result
|
||||
) {
|
||||
$value = $response->getHeaderLine($shape['locationName'] ?: $name);
|
||||
|
||||
switch ($shape->getType()) {
|
||||
case 'float':
|
||||
case 'double':
|
||||
$value = (float) $value;
|
||||
break;
|
||||
case 'long':
|
||||
$value = (int) $value;
|
||||
break;
|
||||
case 'boolean':
|
||||
$value = filter_var($value, FILTER_VALIDATE_BOOLEAN);
|
||||
break;
|
||||
case 'blob':
|
||||
$value = base64_decode($value);
|
||||
break;
|
||||
case 'timestamp':
|
||||
try {
|
||||
if (!empty($shape['timestampFormat'])
|
||||
&& $shape['timestampFormat'] === 'unixTimestamp') {
|
||||
$value = DateTimeResult::fromEpoch($value);
|
||||
}
|
||||
$value = new DateTimeResult($value);
|
||||
break;
|
||||
} catch (\Exception $e) {
|
||||
// If the value cannot be parsed, then do not add it to the
|
||||
// output structure.
|
||||
return;
|
||||
}
|
||||
case 'string':
|
||||
try {
|
||||
if ($shape['jsonvalue']) {
|
||||
$value = $this->parseJson(base64_decode($value), $response);
|
||||
}
|
||||
|
||||
// If value is not set, do not add to output structure.
|
||||
if (!isset($value)) {
|
||||
return;
|
||||
}
|
||||
break;
|
||||
} catch (\Exception $e) {
|
||||
//If the value cannot be parsed, then do not add it to the
|
||||
//output structure.
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
$result[$name] = $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Extract a map of headers with an optional prefix from the response.
|
||||
*/
|
||||
private function extractHeaders(
|
||||
$name,
|
||||
Shape $shape,
|
||||
ResponseInterface $response,
|
||||
&$result
|
||||
) {
|
||||
// Check if the headers are prefixed by a location name
|
||||
$result[$name] = [];
|
||||
$prefix = $shape['locationName'];
|
||||
$prefixLen = strlen($prefix);
|
||||
|
||||
foreach ($response->getHeaders() as $k => $values) {
|
||||
if (!$prefixLen) {
|
||||
$result[$name][$k] = implode(', ', $values);
|
||||
} elseif (stripos($k, $prefix) === 0) {
|
||||
$result[$name][substr($k, $prefixLen)] = implode(', ', $values);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Places the status code of the response into the result array.
|
||||
*/
|
||||
private function extractStatus(
|
||||
$name,
|
||||
ResponseInterface $response,
|
||||
array &$result
|
||||
) {
|
||||
$result[$name] = (int) $response->getStatusCode();
|
||||
}
|
||||
}
|
||||
54
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/Parser/Crc32ValidatingParser.php
vendored
Normal file
54
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/Parser/Crc32ValidatingParser.php
vendored
Normal file
@ -0,0 +1,54 @@
|
||||
<?php
|
||||
namespace Aws\Api\Parser;
|
||||
|
||||
use Aws\Api\StructureShape;
|
||||
use Aws\CommandInterface;
|
||||
use Aws\Exception\AwsException;
|
||||
use Psr\Http\Message\ResponseInterface;
|
||||
use Psr\Http\Message\StreamInterface;
|
||||
use GuzzleHttp\Psr7;
|
||||
|
||||
/**
|
||||
* @internal Decorates a parser and validates the x-amz-crc32 header.
|
||||
*/
|
||||
class Crc32ValidatingParser extends AbstractParser
|
||||
{
|
||||
/**
|
||||
* @param callable $parser Parser to wrap.
|
||||
*/
|
||||
public function __construct(callable $parser)
|
||||
{
|
||||
$this->parser = $parser;
|
||||
}
|
||||
|
||||
public function __invoke(
|
||||
CommandInterface $command,
|
||||
ResponseInterface $response
|
||||
) {
|
||||
if ($expected = $response->getHeaderLine('x-amz-crc32')) {
|
||||
$hash = hexdec(Psr7\hash($response->getBody(), 'crc32b'));
|
||||
if ($expected != $hash) {
|
||||
throw new AwsException(
|
||||
"crc32 mismatch. Expected {$expected}, found {$hash}.",
|
||||
$command,
|
||||
[
|
||||
'code' => 'ClientChecksumMismatch',
|
||||
'connection_error' => true,
|
||||
'response' => $response
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
$fn = $this->parser;
|
||||
return $fn($command, $response);
|
||||
}
|
||||
|
||||
public function parseMemberFromStream(
|
||||
StreamInterface $stream,
|
||||
StructureShape $member,
|
||||
$response
|
||||
) {
|
||||
return $this->parser->parseMemberFromStream($stream, $member, $response);
|
||||
}
|
||||
}
|
||||
335
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/Parser/DecodingEventStreamIterator.php
vendored
Normal file
335
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/Parser/DecodingEventStreamIterator.php
vendored
Normal file
@ -0,0 +1,335 @@
|
||||
<?php
|
||||
|
||||
namespace Aws\Api\Parser;
|
||||
|
||||
use \Iterator;
|
||||
use Aws\Api\DateTimeResult;
|
||||
use GuzzleHttp\Psr7;
|
||||
use Psr\Http\Message\StreamInterface;
|
||||
use Aws\Api\Parser\Exception\ParserException;
|
||||
|
||||
/**
|
||||
* @internal Implements a decoder for a binary encoded event stream that will
|
||||
* decode, validate, and provide individual events from the stream.
|
||||
*/
|
||||
class DecodingEventStreamIterator implements Iterator
|
||||
{
|
||||
const HEADERS = 'headers';
|
||||
const PAYLOAD = 'payload';
|
||||
|
||||
const LENGTH_TOTAL = 'total_length';
|
||||
const LENGTH_HEADERS = 'headers_length';
|
||||
|
||||
const CRC_PRELUDE = 'prelude_crc';
|
||||
|
||||
const BYTES_PRELUDE = 12;
|
||||
const BYTES_TRAILING = 4;
|
||||
|
||||
private static $preludeFormat = [
|
||||
self::LENGTH_TOTAL => 'decodeUint32',
|
||||
self::LENGTH_HEADERS => 'decodeUint32',
|
||||
self::CRC_PRELUDE => 'decodeUint32',
|
||||
];
|
||||
|
||||
private static $lengthFormatMap = [
|
||||
1 => 'decodeUint8',
|
||||
2 => 'decodeUint16',
|
||||
4 => 'decodeUint32',
|
||||
8 => 'decodeUint64',
|
||||
];
|
||||
|
||||
private static $headerTypeMap = [
|
||||
0 => 'decodeBooleanTrue',
|
||||
1 => 'decodeBooleanFalse',
|
||||
2 => 'decodeInt8',
|
||||
3 => 'decodeInt16',
|
||||
4 => 'decodeInt32',
|
||||
5 => 'decodeInt64',
|
||||
6 => 'decodeBytes',
|
||||
7 => 'decodeString',
|
||||
8 => 'decodeTimestamp',
|
||||
9 => 'decodeUuid',
|
||||
];
|
||||
|
||||
/** @var StreamInterface Stream of eventstream shape to parse. */
|
||||
private $stream;
|
||||
|
||||
/** @var array Currently parsed event. */
|
||||
private $currentEvent;
|
||||
|
||||
/** @var int Current in-order event key. */
|
||||
private $key;
|
||||
|
||||
/** @var resource|\HashContext CRC32 hash context for event validation */
|
||||
private $hashContext;
|
||||
|
||||
/** @var int $currentPosition */
|
||||
private $currentPosition;
|
||||
|
||||
/**
|
||||
* DecodingEventStreamIterator constructor.
|
||||
*
|
||||
* @param StreamInterface $stream
|
||||
*/
|
||||
public function __construct(StreamInterface $stream)
|
||||
{
|
||||
$this->stream = $stream;
|
||||
$this->rewind();
|
||||
}
|
||||
|
||||
private function parseHeaders($headerBytes)
|
||||
{
|
||||
$headers = [];
|
||||
$bytesRead = 0;
|
||||
|
||||
while ($bytesRead < $headerBytes) {
|
||||
list($key, $numBytes) = $this->decodeString(1);
|
||||
$bytesRead += $numBytes;
|
||||
|
||||
list($type, $numBytes) = $this->decodeUint8();
|
||||
$bytesRead += $numBytes;
|
||||
|
||||
$f = self::$headerTypeMap[$type];
|
||||
list($value, $numBytes) = $this->{$f}();
|
||||
$bytesRead += $numBytes;
|
||||
|
||||
if (isset($headers[$key])) {
|
||||
throw new ParserException('Duplicate key in event headers.');
|
||||
}
|
||||
$headers[$key] = $value;
|
||||
}
|
||||
|
||||
return [$headers, $bytesRead];
|
||||
}
|
||||
|
||||
private function parsePrelude()
|
||||
{
|
||||
$prelude = [];
|
||||
$bytesRead = 0;
|
||||
|
||||
$calculatedCrc = null;
|
||||
foreach (self::$preludeFormat as $key => $decodeFunction) {
|
||||
if ($key === self::CRC_PRELUDE) {
|
||||
$hashCopy = hash_copy($this->hashContext);
|
||||
$calculatedCrc = hash_final($this->hashContext, true);
|
||||
$this->hashContext = $hashCopy;
|
||||
}
|
||||
list($value, $numBytes) = $this->{$decodeFunction}();
|
||||
$bytesRead += $numBytes;
|
||||
|
||||
$prelude[$key] = $value;
|
||||
}
|
||||
|
||||
if (unpack('N', $calculatedCrc)[1] !== $prelude[self::CRC_PRELUDE]) {
|
||||
throw new ParserException('Prelude checksum mismatch.');
|
||||
}
|
||||
|
||||
return [$prelude, $bytesRead];
|
||||
}
|
||||
|
||||
private function parseEvent()
|
||||
{
|
||||
$event = [];
|
||||
|
||||
if ($this->stream->tell() < $this->stream->getSize()) {
|
||||
$this->hashContext = hash_init('crc32b');
|
||||
|
||||
$bytesLeft = $this->stream->getSize() - $this->stream->tell();
|
||||
list($prelude, $numBytes) = $this->parsePrelude();
|
||||
if ($prelude[self::LENGTH_TOTAL] > $bytesLeft) {
|
||||
throw new ParserException('Message length too long.');
|
||||
}
|
||||
$bytesLeft -= $numBytes;
|
||||
|
||||
if ($prelude[self::LENGTH_HEADERS] > $bytesLeft) {
|
||||
throw new ParserException('Headers length too long.');
|
||||
}
|
||||
|
||||
list(
|
||||
$event[self::HEADERS],
|
||||
$numBytes
|
||||
) = $this->parseHeaders($prelude[self::LENGTH_HEADERS]);
|
||||
|
||||
$event[self::PAYLOAD] = Psr7\stream_for(
|
||||
$this->readAndHashBytes(
|
||||
$prelude[self::LENGTH_TOTAL] - self::BYTES_PRELUDE
|
||||
- $numBytes - self::BYTES_TRAILING
|
||||
)
|
||||
);
|
||||
|
||||
$calculatedCrc = hash_final($this->hashContext, true);
|
||||
$messageCrc = $this->stream->read(4);
|
||||
if ($calculatedCrc !== $messageCrc) {
|
||||
throw new ParserException('Message checksum mismatch.');
|
||||
}
|
||||
}
|
||||
|
||||
return $event;
|
||||
}
|
||||
|
||||
// Iterator Functionality
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
public function current()
|
||||
{
|
||||
return $this->currentEvent;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function key()
|
||||
{
|
||||
return $this->key;
|
||||
}
|
||||
|
||||
public function next()
|
||||
{
|
||||
$this->currentPosition = $this->stream->tell();
|
||||
if ($this->valid()) {
|
||||
$this->key++;
|
||||
$this->currentEvent = $this->parseEvent();
|
||||
}
|
||||
}
|
||||
|
||||
public function rewind()
|
||||
{
|
||||
$this->stream->rewind();
|
||||
$this->key = 0;
|
||||
$this->currentPosition = 0;
|
||||
$this->currentEvent = $this->parseEvent();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
public function valid()
|
||||
{
|
||||
return $this->currentPosition < $this->stream->getSize();
|
||||
}
|
||||
|
||||
// Decoding Utilities
|
||||
|
||||
private function readAndHashBytes($num)
|
||||
{
|
||||
$bytes = $this->stream->read($num);
|
||||
hash_update($this->hashContext, $bytes);
|
||||
return $bytes;
|
||||
}
|
||||
|
||||
private function decodeBooleanTrue()
|
||||
{
|
||||
return [true, 0];
|
||||
}
|
||||
|
||||
private function decodeBooleanFalse()
|
||||
{
|
||||
return [false, 0];
|
||||
}
|
||||
|
||||
private function uintToInt($val, $size)
|
||||
{
|
||||
$signedCap = pow(2, $size - 1);
|
||||
if ($val > $signedCap) {
|
||||
$val -= (2 * $signedCap);
|
||||
}
|
||||
return $val;
|
||||
}
|
||||
|
||||
private function decodeInt8()
|
||||
{
|
||||
$val = (int)unpack('C', $this->readAndHashBytes(1))[1];
|
||||
return [$this->uintToInt($val, 8), 1];
|
||||
}
|
||||
|
||||
private function decodeUint8()
|
||||
{
|
||||
return [unpack('C', $this->readAndHashBytes(1))[1], 1];
|
||||
}
|
||||
|
||||
private function decodeInt16()
|
||||
{
|
||||
$val = (int)unpack('n', $this->readAndHashBytes(2))[1];
|
||||
return [$this->uintToInt($val, 16), 2];
|
||||
}
|
||||
|
||||
private function decodeUint16()
|
||||
{
|
||||
return [unpack('n', $this->readAndHashBytes(2))[1], 2];
|
||||
}
|
||||
|
||||
private function decodeInt32()
|
||||
{
|
||||
$val = (int)unpack('N', $this->readAndHashBytes(4))[1];
|
||||
return [$this->uintToInt($val, 32), 4];
|
||||
}
|
||||
|
||||
private function decodeUint32()
|
||||
{
|
||||
return [unpack('N', $this->readAndHashBytes(4))[1], 4];
|
||||
}
|
||||
|
||||
private function decodeInt64()
|
||||
{
|
||||
$val = $this->unpackInt64($this->readAndHashBytes(8))[1];
|
||||
return [$this->uintToInt($val, 64), 8];
|
||||
}
|
||||
|
||||
private function decodeUint64()
|
||||
{
|
||||
return [$this->unpackInt64($this->readAndHashBytes(8))[1], 8];
|
||||
}
|
||||
|
||||
private function unpackInt64($bytes)
|
||||
{
|
||||
if (version_compare(PHP_VERSION, '5.6.3', '<')) {
|
||||
$d = unpack('N2', $bytes);
|
||||
return [1 => $d[1] << 32 | $d[2]];
|
||||
}
|
||||
return unpack('J', $bytes);
|
||||
}
|
||||
|
||||
private function decodeBytes($lengthBytes=2)
|
||||
{
|
||||
if (!isset(self::$lengthFormatMap[$lengthBytes])) {
|
||||
throw new ParserException('Undefined variable length format.');
|
||||
}
|
||||
$f = self::$lengthFormatMap[$lengthBytes];
|
||||
list($len, $bytes) = $this->{$f}();
|
||||
return [$this->readAndHashBytes($len), $len + $bytes];
|
||||
}
|
||||
|
||||
private function decodeString($lengthBytes=2)
|
||||
{
|
||||
if (!isset(self::$lengthFormatMap[$lengthBytes])) {
|
||||
throw new ParserException('Undefined variable length format.');
|
||||
}
|
||||
$f = self::$lengthFormatMap[$lengthBytes];
|
||||
list($len, $bytes) = $this->{$f}();
|
||||
return [$this->readAndHashBytes($len), $len + $bytes];
|
||||
}
|
||||
|
||||
private function decodeTimestamp()
|
||||
{
|
||||
list($val, $bytes) = $this->decodeInt64();
|
||||
return [
|
||||
DateTimeResult::createFromFormat('U.u', $val / 1000),
|
||||
$bytes
|
||||
];
|
||||
}
|
||||
|
||||
private function decodeUuid()
|
||||
{
|
||||
$val = unpack('H32', $this->readAndHashBytes(16))[1];
|
||||
return [
|
||||
substr($val, 0, 8) . '-'
|
||||
. substr($val, 8, 4) . '-'
|
||||
. substr($val, 12, 4) . '-'
|
||||
. substr($val, 16, 4) . '-'
|
||||
. substr($val, 20, 12),
|
||||
16
|
||||
];
|
||||
}
|
||||
}
|
||||
107
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/Parser/EventParsingIterator.php
vendored
Normal file
107
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/Parser/EventParsingIterator.php
vendored
Normal file
@ -0,0 +1,107 @@
|
||||
<?php
|
||||
|
||||
namespace Aws\Api\Parser;
|
||||
|
||||
use \Iterator;
|
||||
use Aws\Exception\EventStreamDataException;
|
||||
use Aws\Api\Parser\Exception\ParserException;
|
||||
use Aws\Api\StructureShape;
|
||||
use Psr\Http\Message\StreamInterface;
|
||||
|
||||
/**
|
||||
* @internal Implements a decoder for a binary encoded event stream that will
|
||||
* decode, validate, and provide individual events from the stream.
|
||||
*/
|
||||
class EventParsingIterator implements Iterator
|
||||
{
|
||||
/** @var StreamInterface */
|
||||
private $decodingIterator;
|
||||
|
||||
/** @var StructureShape */
|
||||
private $shape;
|
||||
|
||||
/** @var AbstractParser */
|
||||
private $parser;
|
||||
|
||||
public function __construct(
|
||||
StreamInterface $stream,
|
||||
StructureShape $shape,
|
||||
AbstractParser $parser
|
||||
) {
|
||||
$this->decodingIterator = new DecodingEventStreamIterator($stream);
|
||||
$this->shape = $shape;
|
||||
$this->parser = $parser;
|
||||
}
|
||||
|
||||
public function current()
|
||||
{
|
||||
return $this->parseEvent($this->decodingIterator->current());
|
||||
}
|
||||
|
||||
public function key()
|
||||
{
|
||||
return $this->decodingIterator->key();
|
||||
}
|
||||
|
||||
public function next()
|
||||
{
|
||||
$this->decodingIterator->next();
|
||||
}
|
||||
|
||||
public function rewind()
|
||||
{
|
||||
$this->decodingIterator->rewind();
|
||||
}
|
||||
|
||||
public function valid()
|
||||
{
|
||||
return $this->decodingIterator->valid();
|
||||
}
|
||||
|
||||
private function parseEvent(array $event)
|
||||
{
|
||||
if (!empty($event['headers'][':message-type'])) {
|
||||
if ($event['headers'][':message-type'] === 'error') {
|
||||
return $this->parseError($event);
|
||||
}
|
||||
if ($event['headers'][':message-type'] !== 'event') {
|
||||
throw new ParserException('Failed to parse unknown message type.');
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($event['headers'][':event-type'])) {
|
||||
throw new ParserException('Failed to parse without event type.');
|
||||
}
|
||||
$eventShape = $this->shape->getMember($event['headers'][':event-type']);
|
||||
|
||||
$parsedEvent = [];
|
||||
foreach ($eventShape['members'] as $shape => $details) {
|
||||
if (!empty($details['eventpayload'])) {
|
||||
$payloadShape = $eventShape->getMember($shape);
|
||||
if ($payloadShape['type'] === 'blob') {
|
||||
$parsedEvent[$shape] = $event['payload'];
|
||||
} else {
|
||||
$parsedEvent[$shape] = $this->parser->parseMemberFromStream(
|
||||
$event['payload'],
|
||||
$payloadShape,
|
||||
null
|
||||
);
|
||||
}
|
||||
} else {
|
||||
$parsedEvent[$shape] = $event['headers'][$shape];
|
||||
}
|
||||
}
|
||||
|
||||
return [
|
||||
$event['headers'][':event-type'] => $parsedEvent
|
||||
];
|
||||
}
|
||||
|
||||
private function parseError(array $event)
|
||||
{
|
||||
throw new EventStreamDataException(
|
||||
$event['headers'][':error-code'],
|
||||
$event['headers'][':error-message']
|
||||
);
|
||||
}
|
||||
}
|
||||
56
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/Parser/Exception/ParserException.php
vendored
Normal file
56
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/Parser/Exception/ParserException.php
vendored
Normal file
@ -0,0 +1,56 @@
|
||||
<?php
|
||||
namespace Aws\Api\Parser\Exception;
|
||||
|
||||
use Aws\HasMonitoringEventsTrait;
|
||||
use Aws\MonitoringEventsInterface;
|
||||
use Aws\ResponseContainerInterface;
|
||||
use Psr\Http\Message\ResponseInterface;
|
||||
|
||||
class ParserException extends \RuntimeException implements
|
||||
MonitoringEventsInterface,
|
||||
ResponseContainerInterface
|
||||
{
|
||||
use HasMonitoringEventsTrait;
|
||||
|
||||
private $errorCode;
|
||||
private $requestId;
|
||||
private $response;
|
||||
|
||||
public function __construct($message = '', $code = 0, $previous = null, array $context = [])
|
||||
{
|
||||
$this->errorCode = isset($context['error_code']) ? $context['error_code'] : null;
|
||||
$this->requestId = isset($context['request_id']) ? $context['request_id'] : null;
|
||||
$this->response = isset($context['response']) ? $context['response'] : null;
|
||||
parent::__construct($message, $code, $previous);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the error code, if any.
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getErrorCode()
|
||||
{
|
||||
return $this->errorCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the request ID, if any.
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getRequestId()
|
||||
{
|
||||
return $this->requestId;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the received HTTP response if any.
|
||||
*
|
||||
* @return ResponseInterface|null
|
||||
*/
|
||||
public function getResponse()
|
||||
{
|
||||
return $this->response;
|
||||
}
|
||||
}
|
||||
62
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/Parser/JsonParser.php
vendored
Normal file
62
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/Parser/JsonParser.php
vendored
Normal file
@ -0,0 +1,62 @@
|
||||
<?php
|
||||
namespace Aws\Api\Parser;
|
||||
|
||||
use Aws\Api\DateTimeResult;
|
||||
use Aws\Api\Shape;
|
||||
|
||||
/**
|
||||
* @internal Implements standard JSON parsing.
|
||||
*/
|
||||
class JsonParser
|
||||
{
|
||||
public function parse(Shape $shape, $value)
|
||||
{
|
||||
if ($value === null) {
|
||||
return $value;
|
||||
}
|
||||
|
||||
switch ($shape['type']) {
|
||||
case 'structure':
|
||||
$target = [];
|
||||
foreach ($shape->getMembers() as $name => $member) {
|
||||
$locationName = $member['locationName'] ?: $name;
|
||||
if (isset($value[$locationName])) {
|
||||
$target[$name] = $this->parse($member, $value[$locationName]);
|
||||
}
|
||||
}
|
||||
return $target;
|
||||
|
||||
case 'list':
|
||||
$member = $shape->getMember();
|
||||
$target = [];
|
||||
foreach ($value as $v) {
|
||||
$target[] = $this->parse($member, $v);
|
||||
}
|
||||
return $target;
|
||||
|
||||
case 'map':
|
||||
$values = $shape->getValue();
|
||||
$target = [];
|
||||
foreach ($value as $k => $v) {
|
||||
$target[$k] = $this->parse($values, $v);
|
||||
}
|
||||
return $target;
|
||||
|
||||
case 'timestamp':
|
||||
if (!empty($shape['timestampFormat'])
|
||||
&& $shape['timestampFormat'] !== 'unixTimestamp') {
|
||||
return new DateTimeResult($value);
|
||||
}
|
||||
// The Unix epoch (or Unix time or POSIX time or Unix
|
||||
// timestamp) is the number of seconds that have elapsed since
|
||||
// January 1, 1970 (midnight UTC/GMT).
|
||||
return DateTimeResult::fromEpoch($value);
|
||||
|
||||
case 'blob':
|
||||
return base64_decode($value);
|
||||
|
||||
default:
|
||||
return $value;
|
||||
}
|
||||
}
|
||||
}
|
||||
51
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/Parser/JsonRpcParser.php
vendored
Normal file
51
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/Parser/JsonRpcParser.php
vendored
Normal file
@ -0,0 +1,51 @@
|
||||
<?php
|
||||
namespace Aws\Api\Parser;
|
||||
|
||||
use Aws\Api\StructureShape;
|
||||
use Aws\Api\Service;
|
||||
use Aws\Result;
|
||||
use Aws\CommandInterface;
|
||||
use Psr\Http\Message\ResponseInterface;
|
||||
use Psr\Http\Message\StreamInterface;
|
||||
|
||||
/**
|
||||
* @internal Implements JSON-RPC parsing (e.g., DynamoDB)
|
||||
*/
|
||||
class JsonRpcParser extends AbstractParser
|
||||
{
|
||||
use PayloadParserTrait;
|
||||
|
||||
/**
|
||||
* @param Service $api Service description
|
||||
* @param JsonParser $parser JSON body builder
|
||||
*/
|
||||
public function __construct(Service $api, JsonParser $parser = null)
|
||||
{
|
||||
parent::__construct($api);
|
||||
$this->parser = $parser ?: new JsonParser();
|
||||
}
|
||||
|
||||
public function __invoke(
|
||||
CommandInterface $command,
|
||||
ResponseInterface $response
|
||||
) {
|
||||
$operation = $this->api->getOperation($command->getName());
|
||||
$result = null === $operation['output']
|
||||
? null
|
||||
: $this->parseMemberFromStream(
|
||||
$response->getBody(),
|
||||
$operation->getOutput(),
|
||||
$response
|
||||
);
|
||||
|
||||
return new Result($result ?: []);
|
||||
}
|
||||
|
||||
public function parseMemberFromStream(
|
||||
StreamInterface $stream,
|
||||
StructureShape $member,
|
||||
$response
|
||||
) {
|
||||
return $this->parser->parse($member, $this->parseJson($stream, $response));
|
||||
}
|
||||
}
|
||||
91
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/Parser/MetadataParserTrait.php
vendored
Normal file
91
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/Parser/MetadataParserTrait.php
vendored
Normal file
@ -0,0 +1,91 @@
|
||||
<?php
|
||||
namespace Aws\Api\Parser;
|
||||
|
||||
use Aws\Api\DateTimeResult;
|
||||
use Aws\Api\Shape;
|
||||
use Psr\Http\Message\ResponseInterface;
|
||||
|
||||
trait MetadataParserTrait
|
||||
{
|
||||
/**
|
||||
* Extract a single header from the response into the result.
|
||||
*/
|
||||
protected function extractHeader(
|
||||
$name,
|
||||
Shape $shape,
|
||||
ResponseInterface $response,
|
||||
&$result
|
||||
) {
|
||||
$value = $response->getHeaderLine($shape['locationName'] ?: $name);
|
||||
|
||||
switch ($shape->getType()) {
|
||||
case 'float':
|
||||
case 'double':
|
||||
$value = (float) $value;
|
||||
break;
|
||||
case 'long':
|
||||
$value = (int) $value;
|
||||
break;
|
||||
case 'boolean':
|
||||
$value = filter_var($value, FILTER_VALIDATE_BOOLEAN);
|
||||
break;
|
||||
case 'blob':
|
||||
$value = base64_decode($value);
|
||||
break;
|
||||
case 'timestamp':
|
||||
try {
|
||||
if (!empty($shape['timestampFormat'])
|
||||
&& $shape['timestampFormat'] === 'unixTimestamp') {
|
||||
$value = DateTimeResult::fromEpoch($value);
|
||||
}
|
||||
$value = new DateTimeResult($value);
|
||||
break;
|
||||
} catch (\Exception $e) {
|
||||
// If the value cannot be parsed, then do not add it to the
|
||||
// output structure.
|
||||
return;
|
||||
}
|
||||
case 'string':
|
||||
if ($shape['jsonvalue']) {
|
||||
$value = $this->parseJson(base64_decode($value), $response);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
$result[$name] = $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Extract a map of headers with an optional prefix from the response.
|
||||
*/
|
||||
protected function extractHeaders(
|
||||
$name,
|
||||
Shape $shape,
|
||||
ResponseInterface $response,
|
||||
&$result
|
||||
) {
|
||||
// Check if the headers are prefixed by a location name
|
||||
$result[$name] = [];
|
||||
$prefix = $shape['locationName'];
|
||||
$prefixLen = strlen($prefix);
|
||||
|
||||
foreach ($response->getHeaders() as $k => $values) {
|
||||
if (!$prefixLen) {
|
||||
$result[$name][$k] = implode(', ', $values);
|
||||
} elseif (stripos($k, $prefix) === 0) {
|
||||
$result[$name][substr($k, $prefixLen)] = implode(', ', $values);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Places the status code of the response into the result array.
|
||||
*/
|
||||
protected function extractStatus(
|
||||
$name,
|
||||
ResponseInterface $response,
|
||||
array &$result
|
||||
) {
|
||||
$result[$name] = (int) $response->getStatusCode();
|
||||
}
|
||||
}
|
||||
61
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/Parser/PayloadParserTrait.php
vendored
Normal file
61
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/Parser/PayloadParserTrait.php
vendored
Normal file
@ -0,0 +1,61 @@
|
||||
<?php
|
||||
namespace Aws\Api\Parser;
|
||||
|
||||
use Aws\Api\Parser\Exception\ParserException;
|
||||
use Psr\Http\Message\ResponseInterface;
|
||||
|
||||
trait PayloadParserTrait
|
||||
{
|
||||
/**
|
||||
* @param string $json
|
||||
*
|
||||
* @throws ParserException
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
private function parseJson($json, $response)
|
||||
{
|
||||
$jsonPayload = json_decode($json, true);
|
||||
|
||||
if (JSON_ERROR_NONE !== json_last_error()) {
|
||||
throw new ParserException(
|
||||
'Error parsing JSON: ' . json_last_error_msg(),
|
||||
0,
|
||||
null,
|
||||
['response' => $response]
|
||||
);
|
||||
}
|
||||
|
||||
return $jsonPayload;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $xml
|
||||
*
|
||||
* @throws ParserException
|
||||
*
|
||||
* @return \SimpleXMLElement
|
||||
*/
|
||||
protected function parseXml($xml, $response)
|
||||
{
|
||||
$priorSetting = libxml_use_internal_errors(true);
|
||||
try {
|
||||
libxml_clear_errors();
|
||||
$xmlPayload = new \SimpleXMLElement($xml);
|
||||
if ($error = libxml_get_last_error()) {
|
||||
throw new \RuntimeException($error->message);
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
throw new ParserException(
|
||||
"Error parsing XML: {$e->getMessage()}",
|
||||
0,
|
||||
$e,
|
||||
['response' => $response]
|
||||
);
|
||||
} finally {
|
||||
libxml_use_internal_errors($priorSetting);
|
||||
}
|
||||
|
||||
return $xmlPayload;
|
||||
}
|
||||
}
|
||||
60
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/Parser/QueryParser.php
vendored
Normal file
60
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/Parser/QueryParser.php
vendored
Normal file
@ -0,0 +1,60 @@
|
||||
<?php
|
||||
namespace Aws\Api\Parser;
|
||||
|
||||
use Aws\Api\Service;
|
||||
use Aws\Api\StructureShape;
|
||||
use Aws\Result;
|
||||
use Aws\CommandInterface;
|
||||
use Psr\Http\Message\ResponseInterface;
|
||||
use Psr\Http\Message\StreamInterface;
|
||||
|
||||
/**
|
||||
* @internal Parses query (XML) responses (e.g., EC2, SQS, and many others)
|
||||
*/
|
||||
class QueryParser extends AbstractParser
|
||||
{
|
||||
use PayloadParserTrait;
|
||||
|
||||
/** @var bool */
|
||||
private $honorResultWrapper;
|
||||
|
||||
/**
|
||||
* @param Service $api Service description
|
||||
* @param XmlParser $xmlParser Optional XML parser
|
||||
* @param bool $honorResultWrapper Set to false to disable the peeling
|
||||
* back of result wrappers from the
|
||||
* output structure.
|
||||
*/
|
||||
public function __construct(
|
||||
Service $api,
|
||||
XmlParser $xmlParser = null,
|
||||
$honorResultWrapper = true
|
||||
) {
|
||||
parent::__construct($api);
|
||||
$this->parser = $xmlParser ?: new XmlParser();
|
||||
$this->honorResultWrapper = $honorResultWrapper;
|
||||
}
|
||||
|
||||
public function __invoke(
|
||||
CommandInterface $command,
|
||||
ResponseInterface $response
|
||||
) {
|
||||
$output = $this->api->getOperation($command->getName())->getOutput();
|
||||
$xml = $this->parseXml($response->getBody(), $response);
|
||||
|
||||
if ($this->honorResultWrapper && $output['resultWrapper']) {
|
||||
$xml = $xml->{$output['resultWrapper']};
|
||||
}
|
||||
|
||||
return new Result($this->parser->parse($output, $xml));
|
||||
}
|
||||
|
||||
public function parseMemberFromStream(
|
||||
StreamInterface $stream,
|
||||
StructureShape $member,
|
||||
$response
|
||||
) {
|
||||
$xml = $this->parseXml($stream, $response);
|
||||
return $this->parser->parse($member, $xml);
|
||||
}
|
||||
}
|
||||
49
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/Parser/RestJsonParser.php
vendored
Normal file
49
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/Parser/RestJsonParser.php
vendored
Normal file
@ -0,0 +1,49 @@
|
||||
<?php
|
||||
namespace Aws\Api\Parser;
|
||||
|
||||
use Aws\Api\Service;
|
||||
use Aws\Api\StructureShape;
|
||||
use Psr\Http\Message\ResponseInterface;
|
||||
use Psr\Http\Message\StreamInterface;
|
||||
|
||||
/**
|
||||
* @internal Implements REST-JSON parsing (e.g., Glacier, Elastic Transcoder)
|
||||
*/
|
||||
class RestJsonParser extends AbstractRestParser
|
||||
{
|
||||
use PayloadParserTrait;
|
||||
|
||||
/**
|
||||
* @param Service $api Service description
|
||||
* @param JsonParser $parser JSON body builder
|
||||
*/
|
||||
public function __construct(Service $api, JsonParser $parser = null)
|
||||
{
|
||||
parent::__construct($api);
|
||||
$this->parser = $parser ?: new JsonParser();
|
||||
}
|
||||
|
||||
protected function payload(
|
||||
ResponseInterface $response,
|
||||
StructureShape $member,
|
||||
array &$result
|
||||
) {
|
||||
$jsonBody = $this->parseJson($response->getBody(), $response);
|
||||
|
||||
if ($jsonBody) {
|
||||
$result += $this->parser->parse($member, $jsonBody);
|
||||
}
|
||||
}
|
||||
|
||||
public function parseMemberFromStream(
|
||||
StreamInterface $stream,
|
||||
StructureShape $member,
|
||||
$response
|
||||
) {
|
||||
$jsonBody = $this->parseJson($stream, $response);
|
||||
if ($jsonBody) {
|
||||
return $this->parser->parse($member, $jsonBody);
|
||||
}
|
||||
return [];
|
||||
}
|
||||
}
|
||||
42
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/Parser/RestXmlParser.php
vendored
Normal file
42
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/Parser/RestXmlParser.php
vendored
Normal file
@ -0,0 +1,42 @@
|
||||
<?php
|
||||
namespace Aws\Api\Parser;
|
||||
|
||||
use Aws\Api\StructureShape;
|
||||
use Aws\Api\Service;
|
||||
use Psr\Http\Message\ResponseInterface;
|
||||
use Psr\Http\Message\StreamInterface;
|
||||
|
||||
/**
|
||||
* @internal Implements REST-XML parsing (e.g., S3, CloudFront, etc...)
|
||||
*/
|
||||
class RestXmlParser extends AbstractRestParser
|
||||
{
|
||||
use PayloadParserTrait;
|
||||
|
||||
/**
|
||||
* @param Service $api Service description
|
||||
* @param XmlParser $parser XML body parser
|
||||
*/
|
||||
public function __construct(Service $api, XmlParser $parser = null)
|
||||
{
|
||||
parent::__construct($api);
|
||||
$this->parser = $parser ?: new XmlParser();
|
||||
}
|
||||
|
||||
protected function payload(
|
||||
ResponseInterface $response,
|
||||
StructureShape $member,
|
||||
array &$result
|
||||
) {
|
||||
$result += $this->parseMemberFromStream($response->getBody(), $member, $response);
|
||||
}
|
||||
|
||||
public function parseMemberFromStream(
|
||||
StreamInterface $stream,
|
||||
StructureShape $member,
|
||||
$response
|
||||
) {
|
||||
$xml = $this->parseXml($stream, $response);
|
||||
return $this->parser->parse($member, $xml);
|
||||
}
|
||||
}
|
||||
164
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/Parser/XmlParser.php
vendored
Normal file
164
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/Parser/XmlParser.php
vendored
Normal file
@ -0,0 +1,164 @@
|
||||
<?php
|
||||
namespace Aws\Api\Parser;
|
||||
|
||||
use Aws\Api\DateTimeResult;
|
||||
use Aws\Api\ListShape;
|
||||
use Aws\Api\MapShape;
|
||||
use Aws\Api\Shape;
|
||||
use Aws\Api\StructureShape;
|
||||
|
||||
/**
|
||||
* @internal Implements standard XML parsing for REST-XML and Query protocols.
|
||||
*/
|
||||
class XmlParser
|
||||
{
|
||||
public function parse(StructureShape $shape, \SimpleXMLElement $value)
|
||||
{
|
||||
return $this->dispatch($shape, $value);
|
||||
}
|
||||
|
||||
private function dispatch($shape, \SimpleXMLElement $value)
|
||||
{
|
||||
static $methods = [
|
||||
'structure' => 'parse_structure',
|
||||
'list' => 'parse_list',
|
||||
'map' => 'parse_map',
|
||||
'blob' => 'parse_blob',
|
||||
'boolean' => 'parse_boolean',
|
||||
'integer' => 'parse_integer',
|
||||
'float' => 'parse_float',
|
||||
'double' => 'parse_float',
|
||||
'timestamp' => 'parse_timestamp',
|
||||
];
|
||||
|
||||
$type = $shape['type'];
|
||||
if (isset($methods[$type])) {
|
||||
return $this->{$methods[$type]}($shape, $value);
|
||||
}
|
||||
|
||||
return (string) $value;
|
||||
}
|
||||
|
||||
private function parse_structure(
|
||||
StructureShape $shape,
|
||||
\SimpleXMLElement $value
|
||||
) {
|
||||
$target = [];
|
||||
|
||||
foreach ($shape->getMembers() as $name => $member) {
|
||||
// Extract the name of the XML node
|
||||
$node = $this->memberKey($member, $name);
|
||||
if (isset($value->{$node})) {
|
||||
$target[$name] = $this->dispatch($member, $value->{$node});
|
||||
} else {
|
||||
$memberShape = $shape->getMember($name);
|
||||
if (!empty($memberShape['xmlAttribute'])) {
|
||||
$target[$name] = $this->parse_xml_attribute(
|
||||
$shape,
|
||||
$memberShape,
|
||||
$value
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $target;
|
||||
}
|
||||
|
||||
private function memberKey(Shape $shape, $name)
|
||||
{
|
||||
if (null !== $shape['locationName']) {
|
||||
return $shape['locationName'];
|
||||
}
|
||||
|
||||
if ($shape instanceof ListShape && $shape['flattened']) {
|
||||
return $shape->getMember()['locationName'] ?: $name;
|
||||
}
|
||||
|
||||
return $name;
|
||||
}
|
||||
|
||||
private function parse_list(ListShape $shape, \SimpleXMLElement $value)
|
||||
{
|
||||
$target = [];
|
||||
$member = $shape->getMember();
|
||||
|
||||
if (!$shape['flattened']) {
|
||||
$value = $value->{$member['locationName'] ?: 'member'};
|
||||
}
|
||||
|
||||
foreach ($value as $v) {
|
||||
$target[] = $this->dispatch($member, $v);
|
||||
}
|
||||
|
||||
return $target;
|
||||
}
|
||||
|
||||
private function parse_map(MapShape $shape, \SimpleXMLElement $value)
|
||||
{
|
||||
$target = [];
|
||||
|
||||
if (!$shape['flattened']) {
|
||||
$value = $value->entry;
|
||||
}
|
||||
|
||||
$mapKey = $shape->getKey();
|
||||
$mapValue = $shape->getValue();
|
||||
$keyName = $shape->getKey()['locationName'] ?: 'key';
|
||||
$valueName = $shape->getValue()['locationName'] ?: 'value';
|
||||
|
||||
foreach ($value as $node) {
|
||||
$key = $this->dispatch($mapKey, $node->{$keyName});
|
||||
$value = $this->dispatch($mapValue, $node->{$valueName});
|
||||
$target[$key] = $value;
|
||||
}
|
||||
|
||||
return $target;
|
||||
}
|
||||
|
||||
private function parse_blob(Shape $shape, $value)
|
||||
{
|
||||
return base64_decode((string) $value);
|
||||
}
|
||||
|
||||
private function parse_float(Shape $shape, $value)
|
||||
{
|
||||
return (float) (string) $value;
|
||||
}
|
||||
|
||||
private function parse_integer(Shape $shape, $value)
|
||||
{
|
||||
return (int) (string) $value;
|
||||
}
|
||||
|
||||
private function parse_boolean(Shape $shape, $value)
|
||||
{
|
||||
return $value == 'true';
|
||||
}
|
||||
|
||||
private function parse_timestamp(Shape $shape, $value)
|
||||
{
|
||||
if (!empty($shape['timestampFormat'])
|
||||
&& $shape['timestampFormat'] === 'unixTimestamp') {
|
||||
return DateTimeResult::fromEpoch((string) $value);
|
||||
}
|
||||
return new DateTimeResult($value);
|
||||
}
|
||||
|
||||
private function parse_xml_attribute(Shape $shape, Shape $memberShape, $value)
|
||||
{
|
||||
$namespace = $shape['xmlNamespace']['uri']
|
||||
? $shape['xmlNamespace']['uri']
|
||||
: '';
|
||||
$prefix = $shape['xmlNamespace']['prefix']
|
||||
? $shape['xmlNamespace']['prefix']
|
||||
: '';
|
||||
if (!empty($prefix)) {
|
||||
$prefix .= ':';
|
||||
}
|
||||
$key = str_replace($prefix, '', $memberShape['locationName']);
|
||||
|
||||
$attributes = $value->attributes($namespace);
|
||||
return isset($attributes[$key]) ? (string) $attributes[$key] : null;
|
||||
}
|
||||
}
|
||||
40
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/Serializer/Ec2ParamBuilder.php
vendored
Normal file
40
nextcloud/3rdparty/aws/aws-sdk-php/src/Api/Serializer/Ec2ParamBuilder.php
vendored
Normal file
@ -0,0 +1,40 @@
|
||||
<?php
|
||||
namespace Aws\Api\Serializer;
|
||||
|
||||
use Aws\Api\Shape;
|
||||
use Aws\Api\ListShape;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
class Ec2ParamBuilder extends QueryParamBuilder
|
||||
{
|
||||
protected function queryName(Shape $shape, $default = null)
|
||||
{
|
||||
return ($shape['queryName']
|
||||
?: ucfirst($shape['locationName']))
|
||||
?: $default;
|
||||
}
|
||||
|
||||
protected function isFlat(Shape $shape)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
protected function format_list(
|
||||
ListShape $shape,
|
||||
array $value,
|
||||
$prefix,
|
||||
&$query
|
||||
) {
|
||||
// Handle empty list serialization
|
||||
if (!$value) {
|
||||
$query[$prefix] = false;
|
||||
} else {
|
||||
$items = $shape->getMember();
|
||||
foreach ($value as $k => $v) {
|
||||
$this->format($items, $v, $prefix . '.' . ($k + 1), $query);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user