小编Jua*_*ino的帖子

将 brotli 与 AWS Cloudfront + S3 结合使用

我正在使用 Cloudfront 和 S3 部署 React 应用程序,并且我想启用 brotli 进行压缩。我看过一些使用 lambda@edge 解决此问题的教程。我的 Cloudfront 发行版的行为配置如下

在此输入图像描述

我还将“自动压缩对象”选项设置为“否”。我已将以下两个 lambda 函数分别关联到原始请求和查看器请求:

  • 来源请求:

'use strict';

/**
 * Funciton registered on 'Origin Request' CloudFront Event
 */
exports.handler = (event, context, callback) => {
  const request = event.Records[0].cf.request;
  console.log(JSON.stringify(request));
  const headers = request.headers;
  const isBr = headers['x-compression'] && headers['x-compression'][0].value === "br";
  const isGzip =  headers['x-compression'] && headers['x-compression'][0].value === "gzip";

  /**
  * Update request path based on custom header
  */  
  let extension = "";
  if(isBr)
    extension = ".br";
  else …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-cloudfront reactjs webpack brotli

5
推荐指数
1
解决办法
5382
查看次数

离线时强制从 Cloud Firestore 缓存中提取

我目前正在将 Firebase Firestore 用于 Android 项目,但是当手机处于飞行模式时,我在检索数据时遇到了一些问题。这是我的代码:

public void loadThings() {
    FirebaseFirestore db = FirebaseFirestore.getInstance();

    db.collection("medidas").whereEqualTo("id_user", mAuth.getCurrentUser().getUid()).get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
        @Override
        public void onComplete(@NonNull Task<QuerySnapshot> task) {
            if (task.isSuccessful()) {
                QuerySnapshot snapshot = task.getResult();
                int tam = snapshot.getDocuments().size();
                data = new String[tam];
                StringBuilder temp;
                DocumentSnapshot doc;
                for (int i = 0; i < tam; i++) {
                    temp = new StringBuilder();
                    doc = snapshot.getDocuments().get(i);

                    temp.append("Date: ").append(doc.get("fecha")).append(";");
                    temp.append("Min: ").append(doc.get("min")).append(";");
                    temp.append("Max: ").append(doc.get("max")).append(";");
                    temp.append("Avg: ").append(doc.get("avg")).append(";");


                    data[i] = temp.toString();
                }
                if(tam==0)
                {
                    noMeasures();
                }
            }
            else
            { …
Run Code Online (Sandbox Code Playgroud)

java android firebase google-cloud-firestore

0
推荐指数
1
解决办法
1002
查看次数