stellate 2.11.0 → 2.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/apollo-server.js +2 -2
- package/dist/apollo-server.mjs +11 -2
- package/dist/bin.js +578 -596
- package/dist/envelop.js +2 -2
- package/dist/envelop.mjs +5 -1
- package/dist/graphql-yoga.js +2 -2
- package/dist/graphql-yoga.mjs +9 -1
- package/package.json +1 -1
package/dist/envelop.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
2
|
-
`);
|
|
1
|
+
"use strict";var f=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var q=Object.getOwnPropertyNames;var O=Object.prototype.hasOwnProperty;var E=(e,t)=>{for(var r in t)f(e,r,{get:t[r],enumerable:!0})},A=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of q(t))!O.call(e,a)&&a!==r&&f(e,a,{get:()=>t[a],enumerable:!(n=T(t,a))||n.enumerable});return e};var V=e=>A(f({},"__esModule",{value:!0}),e);var $={};E($,{createBlake3Hash:()=>u,createStellateLoggerPlugin:()=>R});module.exports=V($);var d=require("graphql"),L=require("@envelop/core");function u(e){let t=0,r=e.length;if(r===0)return t;for(let n=0;n<r;++n){let a=e.charCodeAt(n);t=(t<<5)-t+a,t&=t}return t>>>0}function N({headers:e,operation:t,method:r,start:n,operationName:a,errors:g,response:i,variables:s,responseHeaders:c,sendVariablesAsHash:o,hasSetCookie:h,graphqlClientName:p,graphqlClientVersion:b}){let v=e.get("x-forwarded-for"),C=v?v.split(","):[],m=c&&c.get("vary"),k;if(m&&m.length){let P=m.split(",").map(l=>l&&l.trim()).sort().map(l=>{let w=l&&e.get(l);return w?`${l}:${w}`:void 0}).filter(Boolean).join(`
|
|
2
|
+
`);k=u(P)}return{graphqlClientName:p,graphqlClientVersion:b,operation:t,operationName:a,variables:o?void 0:s,variableHash:o?u(JSON.stringify(s||{})):void 0,method:r,elapsed:Date.now()-n,ip:C[0]||e.get("true-client-ip")||e.get("x-real-ip")||void 0,hasSetCookie:h,referer:e.get("referer")||void 0,userAgent:e.get("user-agent")||void 0,statusCode:200,errors:g,responseSize:JSON.stringify(i).length,responseHash:u(JSON.stringify(i)),varyHash:k}}function x(e){if(typeof e!="function"){console.warn("Stellate logger plugin requires a fetch function to be provided as an option.");return}}var y=process.env.STELLATE_ENDPOINT==="local"||process.env.STELLATE_ENDPOINT==="staging"?"stellate.dev":"stellate.sh";async function H({fetch:e,payload:t,token:r,serviceName:n}){return e(`https://${n}.${y}/log`,{method:"POST",body:JSON.stringify(t),headers:{"Content-Type":"application/json","Stellate-Logging-Token":r}})}var S=class{constructor(t){this.headers=Object.keys(t).reduce((r,n)=>(r[n.trim().toLowerCase()]=t[n],r),{})}get(t){return this.headers[t.trim().toLowerCase()]}has(t){return!!this.headers[t.trim().toLowerCase()]}},R=e=>{var n;let t=(n=e.schemaSyncing)!=null?n:!0,r;return{onSchemaChange(a){if(t){let g=a.schema,i=Math.random()*5e3;r&&clearTimeout(r),r=setTimeout(async()=>{r=null;try{let s=(0,d.introspectionFromSchema)(g);e.fetch(`https://${e.serviceName}.${y}/schema`,{method:"POST",body:JSON.stringify({schema:s}),headers:{"Content-Type":"application/json","Stellate-Schema-Token":e.token}}).then(()=>{})}catch{}},i)}},onExecute(a){var s;let g=(s=e.sendVariablesAsHash)!=null?s:!0,i=Date.now();return{async onExecuteDone({result:c}){if((0,L.isAsyncIterable)(c)){console.warn("Stellate does not currently support logging incremental results.");return}let{headers:o}=a.args.contextValue.request,{method:h}=a.args.contextValue.request;if(typeof o.get!="function"&&(o=new S(o)),o.has("gcdn-request-id"))return;let p=N({headers:o,operation:(0,d.print)(a.args.document),method:h,sendVariablesAsHash:g,start:i,operationName:a.args.operationName,errors:c.errors,response:c});x(e.fetch);try{await H({fetch:e.fetch,payload:p,token:e.token,serviceName:e.serviceName})}catch{}}}}}};0&&(module.exports={createBlake3Hash,createStellateLoggerPlugin});
|
package/dist/envelop.mjs
CHANGED
|
@@ -27,7 +27,9 @@ function extractStellatePayload({
|
|
|
27
27
|
variables,
|
|
28
28
|
responseHeaders,
|
|
29
29
|
sendVariablesAsHash,
|
|
30
|
-
hasSetCookie
|
|
30
|
+
hasSetCookie,
|
|
31
|
+
graphqlClientName,
|
|
32
|
+
graphqlClientVersion
|
|
31
33
|
}) {
|
|
32
34
|
const forwardedFor = headers.get("x-forwarded-for");
|
|
33
35
|
const ips = forwardedFor ? forwardedFor.split(",") : [];
|
|
@@ -42,6 +44,8 @@ function extractStellatePayload({
|
|
|
42
44
|
varyHash = createBlake3Hash(variedValues);
|
|
43
45
|
}
|
|
44
46
|
return {
|
|
47
|
+
graphqlClientName,
|
|
48
|
+
graphqlClientVersion,
|
|
45
49
|
operation,
|
|
46
50
|
operationName,
|
|
47
51
|
variables: sendVariablesAsHash ? void 0 : variables,
|
package/dist/graphql-yoga.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
2
|
-
`);
|
|
1
|
+
"use strict";var S=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var L=Object.getOwnPropertyNames;var w=Object.prototype.hasOwnProperty;var O=(e,t)=>{for(var n in t)S(e,n,{get:t[n],enumerable:!0})},E=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of L(t))!w.call(e,r)&&r!==n&&S(e,r,{get:()=>t[r],enumerable:!(a=C(t,r))||a.enumerable});return e};var A=e=>E(S({},"__esModule",{value:!0}),e);var $={};O($,{createBlake3Hash:()=>p,createStellateLoggerPlugin:()=>V});module.exports=A($);var h=require("graphql"),T=require("graphql-yoga");function p(e){let t=0,n=e.length;if(n===0)return t;for(let a=0;a<n;++a){let r=e.charCodeAt(a);t=(t<<5)-t+r,t&=t}return t>>>0}function k({headers:e,operation:t,method:n,start:a,operationName:r,errors:g,response:i,variables:o,responseHeaders:l,sendVariablesAsHash:s,hasSetCookie:d,graphqlClientName:m,graphqlClientVersion:f}){let u=e.get("x-forwarded-for"),v=u?u.split(","):[],y=l&&l.get("vary"),x;if(y&&y.length){let q=y.split(",").map(c=>c&&c.trim()).sort().map(c=>{let N=c&&e.get(c);return N?`${c}:${N}`:void 0}).filter(Boolean).join(`
|
|
2
|
+
`);x=p(q)}return{graphqlClientName:m,graphqlClientVersion:f,operation:t,operationName:r,variables:s?void 0:o,variableHash:s?p(JSON.stringify(o||{})):void 0,method:n,elapsed:Date.now()-a,ip:v[0]||e.get("true-client-ip")||e.get("x-real-ip")||void 0,hasSetCookie:d,referer:e.get("referer")||void 0,userAgent:e.get("user-agent")||void 0,statusCode:200,errors:g,responseSize:JSON.stringify(i).length,responseHash:p(JSON.stringify(i)),varyHash:x}}function H(e){if(typeof e!="function"){console.warn("Stellate logger plugin requires a fetch function to be provided as an option.");return}}var b=process.env.STELLATE_ENDPOINT==="local"||process.env.STELLATE_ENDPOINT==="staging"?"stellate.dev":"stellate.sh";async function P({fetch:e,payload:t,token:n,serviceName:a}){return e(`https://${a}.${b}/log`,{method:"POST",body:JSON.stringify(t),headers:{"Content-Type":"application/json","Stellate-Logging-Token":n}})}var V=e=>{var a;let t=(a=e.schemaSyncing)!=null?a:!0,n;return{onSchemaChange(r){if(t){let g=r.schema,i=Math.random()*5e3;n&&clearTimeout(n),n=setTimeout(async()=>{n=null;try{let o=(0,h.introspectionFromSchema)(g);e.fetch(`https://${e.serviceName}.${b}/schema`,{method:"POST",body:JSON.stringify({schema:o}),headers:{"Content-Type":"application/json","Stellate-Schema-Token":e.token}}).then(()=>{}).catch(()=>{})}catch{}},i)}},onExecute(r){var o;let g=(o=e.sendVariablesAsHash)!=null?o:!0,i=Date.now();return{async onExecuteDone({result:l}){if((0,T.isAsyncIterable)(l)){console.warn("Stellate does not currently support logging incremental results.");return}let{headers:s,method:d}=r.args.contextValue.request;if(s.has("gcdn-request-id"))return;let m=s.get("x-graphql-client-name")||void 0,f=s.get("x-graphql-client-version")||void 0,u=k({graphqlClientName:m,graphqlClientVersion:f,headers:s,operation:(0,h.print)(r.args.document),method:d,sendVariablesAsHash:g,start:i,operationName:r.args.operationName,errors:l.errors,response:l});H(e.fetch);try{await P({fetch:e.fetch,payload:u,token:e.token,serviceName:e.serviceName})}catch{}}}}}};0&&(module.exports={createBlake3Hash,createStellateLoggerPlugin});
|
package/dist/graphql-yoga.mjs
CHANGED
|
@@ -27,7 +27,9 @@ function extractStellatePayload({
|
|
|
27
27
|
variables,
|
|
28
28
|
responseHeaders,
|
|
29
29
|
sendVariablesAsHash,
|
|
30
|
-
hasSetCookie
|
|
30
|
+
hasSetCookie,
|
|
31
|
+
graphqlClientName,
|
|
32
|
+
graphqlClientVersion
|
|
31
33
|
}) {
|
|
32
34
|
const forwardedFor = headers.get("x-forwarded-for");
|
|
33
35
|
const ips = forwardedFor ? forwardedFor.split(",") : [];
|
|
@@ -42,6 +44,8 @@ function extractStellatePayload({
|
|
|
42
44
|
varyHash = createBlake3Hash(variedValues);
|
|
43
45
|
}
|
|
44
46
|
return {
|
|
47
|
+
graphqlClientName,
|
|
48
|
+
graphqlClientVersion,
|
|
45
49
|
operation,
|
|
46
50
|
operationName,
|
|
47
51
|
variables: sendVariablesAsHash ? void 0 : variables,
|
|
@@ -132,7 +136,11 @@ var createStellateLoggerPlugin = (options) => {
|
|
|
132
136
|
const { headers, method } = payload.args.contextValue.request;
|
|
133
137
|
if (headers.has("gcdn-request-id"))
|
|
134
138
|
return;
|
|
139
|
+
const graphqlClientName = headers.get("x-graphql-client-name") || void 0;
|
|
140
|
+
const graphqlClientVersion = headers.get("x-graphql-client-version") || void 0;
|
|
135
141
|
const stellatePayload = extractStellatePayload({
|
|
142
|
+
graphqlClientName,
|
|
143
|
+
graphqlClientVersion,
|
|
136
144
|
headers,
|
|
137
145
|
operation: print(payload.args.document),
|
|
138
146
|
method,
|